OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
多维空间中的聚类与搜索

详细描述

本节介绍了 OpenCV 与 FLANN 库的接口。FLANN(快速近似最近邻库)是一个包含一系列优化算法的库,用于在大数据集和高维特征中快速搜索最近邻。有关 FLANN 的更多信息可在 [203] 中找到。

结构体  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 &centers, const ::cvflann::KMeansIndexParams &params, Distance d=Distance())
 使用分层 k-means 算法对特征进行聚类。
 

函数文档

◆ hierarchicalClustering()

template<typename Distance >
int cv::flann::hierarchicalClustering ( const Mat & features,
Mat & 输出检测到的中心点数组。,
const ::cvflann::KMeansIndexParams & params,
Distance d = Distance() )

#include <opencv2/flann.hpp>

使用分层 k-means 算法对特征进行聚类。

参数
features要聚类的点。矩阵的元素类型必须为 Distance::ElementType。
输出检测到的中心点数组。获得的聚类中心。矩阵的类型必须为 Distance::CentersType。此矩阵的行数表示所需的聚类数量,然而,由于分层树中切割点的选择方式,计算出的聚类数量将是 (branching-1)*k+1 形式的最大值,且该值低于所需的聚类数量,其中 branching 是树的分支因子(参见 KMeansIndexParams 的描述)。
params构建分层 k-means 树时使用的参数。
d用于聚类的距离。

该方法通过构建分层 k-means 树并选择树中使簇方差最小的切割点来聚类给定的特征向量。它返回找到的簇的数量。

此函数的调用图如下