![]() |
OpenCV 4.13.0
Open Source Computer Vision
|
このセクションでは、FLANN ライブラリへの OpenCV のインターフェースについて説明する。FLANN (Fast Library for Approximate Nearest Neighbors) は、大規模なデータセットや高次元特徴に対する高速な最近傍探索向けに最適化されたアルゴリズム群を含むライブラリである。FLANN に関する詳細は [206] を参照。
クラス | |
| struct | cv::flann::CvType< T > |
| struct | cv::flann::CvType< char > |
| struct | cv::flann::CvType< double > |
| struct | cv::flann::CvType< float > |
| struct | cv::flann::CvType< short > |
| struct | cv::flann::CvType< unsigned char > |
| struct | cv::flann::CvType< unsigned short > |
| class | 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 木を構築し、クラスタの分散を最小化する切断位置を木の中から選ぶことで、与えられた特徴ベクトルをクラスタリングする。見つかったクラスタ数を返す。