CV リファレンス マニュアル
最終変更者: 怡土順一, 最終変更リビジョン: 448, 最終変更日時: 2008-12-24 00:28:23 +0900 (水, 24 12月 2008)
-
画像処理(Image Processing)
- 勾配,エッジ,コーナー,特徴(Gradients, Edges, Corners and Features)
- サンプリング,補間,幾何変換(Sampling, Interpolation and Geometrical Transforms)
- モルフォロジー演算(Morphological Operations)
- フィルタと色変換(Filters and Color Conversion)
- ピラミッドとその応用(Pyramids and the Applications)
- 画像分割,領域結合,輪郭検出(Image Segmentation, Connected Components and Contour Retrieval)
- 画像と形状のモーメント(Image and Contour Moments)
- 特殊な画像変換(Special Image Transforms)
- ヒストグラム(Histograms)
- マッチング(Matching)
- 構造解析(Structural Analysis)
- モーション解析と物体追跡(Motion Analysis and Object Tracking)
- パターン認識(Pattern Recognition)
- カメラキャリブレーションと3次元再構成(Camera Calibration and 3D Reconstruction)
- 参考文献
モーション解析と物体追跡(Motion Analysis and Object Tracking)
特徴マッチング(Feature Matching)
CreateFeatureTree
特徴ベクトルのツリーを作成する
CvFeatureTree* cvCreateFeatureTree(CvMat* desc);
- desc
- d 次元特徴ベクトルの n × d 行列(CV_32FC1 or CV_64FC1).
関数cvCreateFeatureTreeは, 与えられた特徴ベクトルのインデックスに対するバランスk-d木を構築する. desc 行列は,返されるツリーよりも先に解放されてはならない. つまり,特徴ベクトルのコピーは作成されない.
ReleaseFeatureTree
特徴ベクトルのツリーを解放する
void cvReleaseFeatureTree(CvFeatureTree* tr);
- tr
- 開放されるツリーへのポインタ.
関数cvReleaseFeatureTreeは,与えられた k-d木を解放する.
FindFeatures
最適ビン優先(Best-Bin-First)探索を用いて,与えられたベクトルのおおよその k 近傍値を求める
void cvFindFeatures(CvFeatureTree* tr, CvMat* desc,
CvMat* results, CvMat* dist, int k=2, int emax=20);
- tr
- 参照ベクトルに対するk-d木インデックスへのポインタ.
- desc
- (行)ベクトルの m × d 行列.これらのベクトルの近傍値を探索する.
- results
- 一致したベクトルの行インデックス (cvCreateFeatureTreeに引数として渡される行列を参照する) の集合.m × kの行列.k 近傍より遠い場合は,その列には -1 が入る.
- dist
- k 近傍値までの距離のm × k 行列
- k
- 検出される近傍の数.
- emax
- 探索する葉の最大数.
関数cvFindFeaturesは, descで与えられたそれぞれの(列)ベクトルに対して, (可能性の高い)k 近傍値を,tr の中から見つける. 探索には,最適ビン優先(Best-Bin-First)探索を用いる([Beis97]). 全体の計算量は,最大でO(m*emax*log2(n))である. ここで,nは,ツリー中のベクトル数を表す.
FindFeaturesBoxed
直交領域探索
int cvFindFeaturesBoxed(CvFeatureTree* tr,
CvMat* bounds_min, CvMat* bounds_max,
CvMat* results);
- tr
- 参照ベクトルに対するk-d木インデックスへのポインタ.
- bounds_min
- 各次元の最小値を与える 1×d あるいは d×1 のベクトル(CV_32FC1 or CV_64FC1)
- bounds_max
- 各次元の最大値を与える 1×d あるいは d×1 のベクトル(CV_32FC1 or CV_64FC1)
- results
- 出力行インデックス(cvCreateFeatureTreeに引数として渡される行列を参照する) の 1×m あるいは m×1 のベクトル(CV_32SC1)
関数cvFindFeaturesBoxedは,与えられたk-d木上で直交領域探索を行う. つまり,trの中で, bounds_min[i] <= v[i] <= bounds_max[i], 0 <= i < d を満たすベクトルvの集合を求める. ここで,dは,ツリー内のベクトルの次元である. この関数は,求められたベクトル数を返す.