|
OpenCV453
|
列挙型 | |
| enum | cv::KmeansFlags { cv::KMEANS_RANDOM_CENTERS = 0 , cv::KMEANS_PP_CENTERS = 2 , cv::KMEANS_USE_INITIAL_LABELS = 1 } |
| k-Means flags [詳解] | |
関数 | |
| CV_EXPORTS_W double | cv::kmeans (InputArray data, int K, InputOutputArray bestLabels, TermCriteria criteria, int attempts, int flags, OutputArray centers=noArray()) |
| Finds centers of clusters and groups input samples around the clusters. [詳解] | |
| template<typename _Tp , class _EqPredicate > | |
| int | partition (const std::vector< _Tp > &_vec, std::vector< int > &labels, _EqPredicate predicate=_EqPredicate()) |
| Splits an element set into equivalency classes. [詳解] | |
| enum cv::KmeansFlags |
k-Means flags
| CV_EXPORTS_W double cv::kmeans | ( | InputArray | data, |
| int | K, | ||
| InputOutputArray | bestLabels, | ||
| TermCriteria | criteria, | ||
| int | attempts, | ||
| int | flags, | ||
| OutputArray | centers = noArray() |
||
| ) |
Finds centers of clusters and groups input samples around the clusters.
The function kmeans implements a k-means algorithm that finds the centers of cluster_count clusters and groups the input samples around the clusters. As an output,
contains a 0-based cluster index for the sample stored in the
row of the samples matrix.
| data | Data for clustering. An array of N-Dimensional points with float coordinates is needed. Examples of this array can be: |
| K | Number of clusters to split the set by. |
| bestLabels | Input/output integer array that stores the cluster indices for every sample. |
| criteria | The algorithm termination criteria, that is, the maximum number of iterations and/or the desired accuracy. The accuracy is specified as criteria.epsilon. As soon as each of the cluster centers moves by less than criteria.epsilon on some iteration, the algorithm stops. |
| attempts | Flag to specify the number of times the algorithm is executed using different initial labellings. The algorithm returns the labels that yield the best compactness (see the last function parameter). |
| flags | Flag that can take values of cv::KmeansFlags |
| centers | Output matrix of the cluster centers, one row per each cluster center. |
| int partition | ( | const std::vector< _Tp > & | _vec, |
| std::vector< int > & | labels, | ||
| _EqPredicate | predicate = _EqPredicate() |
||
| ) |
Splits an element set into equivalency classes.
The generic function partition implements an
algorithm for splitting a set of
elements into one or more equivalency classes, as described in http://en.wikipedia.org/wiki/Disjoint-set_data_structure . The function returns the number of equivalency classes.
| _vec | Set of elements stored as a vector. |
| labels | Output vector of labels. It contains as many elements as vec. Each label labels[i] is a 0-based cluster index of vec[i]. |
| predicate | Equivalence predicate (pointer to a boolean function of two arguments or an instance of the class that has the method bool operator()(const _Tp& a, const _Tp& b) ). The predicate returns true when the elements are certainly in the same class, and returns false if they may or may not be in the same class. |