![]() |
OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
|
本节记录了OpenCV对FLANN库的接口。FLANN (Fast Library for Approximate Nearest Neighbors) 是一个包含一系列算法的库,这些算法针对大型数据集和高维特征中的快速近似最近邻搜索进行了优化。有关FLANN的更多信息,请参阅 [206] 。
类 | |
| 结构体 | cv::flann::CvType< T > |
| 结构体 | cv::flann::CvType< char > |
| 结构体 | cv::flann::CvType< double > |
| 结构体 | cv::flann::CvType< float > |
| 结构体 | cv::flann::CvType< short > |
| 结构体 | cv::flann::CvType< unsigned char > |
| 结构体 | cv::flann::CvType< unsigned short > |
| 类 | cv::flann::GenericIndex< Distance > |
| FLANN最近邻索引类。此类是针对构建索引的元素类型进行模板化的。 更多... | |
函数 | |
| template<typename Distance > | |
| int | cv::flann::hierarchicalClustering (const Mat &features, Mat ¢ers, const ::cvflann::KMeansIndexParams ¶ms, Distance d=Distance()) |
| 使用分层 k-means 算法对特征进行聚类。 | |
| int cv::flann::hierarchicalClustering | ( | const Mat & | features, |
| Mat & | centers, | ||
| const ::cvflann::KMeansIndexParams & | params, | ||
| Distance | d = Distance() ) |
#include <opencv2/flann.hpp>
使用分层 k-means 算法对特征进行聚类。
| features | 要聚类的点。矩阵的元素类型必须是 Distance::ElementType。 |
| centers | 获得的聚类中心。矩阵的类型必须是 Distance::CentersType。此矩阵的行数表示所需的聚类数量,但是,由于选择分层树的切割方式,计算出的聚类数量将是低于所需聚类数量的、形式为 (branching-1)*k+1 的最大数量,其中 branching 是树的分支因子 (请参阅 KMeansIndexParams 的描述)。 |
| params | 构建分层 k-means 树时使用的参数。 |
| d | 用于聚类的距离。 |
该方法通过构建一个分层 k-means 树并选择一个能最小化聚类方差的树切割来聚类给定的特征向量。它返回找到的聚类数量。