OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
2012年7月27日金曜日
OpenCV 2.4.2 サンプルのmatching_to_many_imagesを試してみた
samples\cppにあるmatching_to_many_imagesを試してみた
問い合わせ画像と、学習用画像との特徴点を比較する
結果は、一致点を線で結んだ画像が保存される
注:
デフォルトではバグがあり保存されないので、matching_to_many_imagesフォルダの下にresultsフォルダを事前に作成して置く必要がある
デフォルトでは
特徴点 SURF
特徴量 SURF
比較器 FlannBased
が使用される
プログラムの流れを簡単に示す
1 ファイルリストからファイル名を取得し、グレースケールで読み込みMatをコレクションに登録
2 detectKeypoints
問い合わせ用の画像のSURF特徴点の取得
学習用画像コレクションからSURF特徴点コレクションの取得
3 computeDescriptors
問い合わせ用の画像のSURF特徴量の取得
学習用画像コレクションからSURF特徴量コレクションの取得
注 2.4から、コレクションも引数に取れるようになった
発見された特徴量の数を表示
4 matchDescriptors
比較器に学習用画像のSURF特徴量コレクションを登録
学習
BruteForceMatcherは、何もしない
FlannBasedMatcherは、flann::Indexを学習する
比較し、一致情報を取得
5 saveResultImages
学習用画像indexと一致情報の画像indexを比較し、maskデータの作成
学習用画像と、問い合わせ画像を合成し、一致点を描画
ファイルに保存
以上
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿