特徴点の検出、特徴量の取得、対応点の発見のtutorialを試してみた
samples\cpp\tutorial_code\features2D SURF_Homography.cppを最初に試したが、2次元特徴のtutrialの一番最後にあたるものであった。
順番に試してみるなら下記の順番がよい
SURF_detector.cpp SURFを用いた特徴点の検出
SURF_descriptor.cpp SURFを用いた特徴点の検出、見つけた点の特徴量を求め、BruteForceMatcherで対応する特徴点の発見と描画
SURF_FlannMatcher.cpp SURFを用いた特徴点の検出、見つけた点の特徴量を求め、FlannBasedMatcherで対応する特徴点の発見と描画
SURF_Homography.cpp SURFを用いた特徴点の検出、見つけた点の特徴量を求め、FlannBasedMatcherで対応する特徴点の発見と描画、2つの画像のHomographyを計算し、perspectiveTransformで、片方の画像での対応する面を描画
ためしに選んだ画像では、4つめのtutorialの結果がわかりづらいので、SURF_FlannMatcher.cppの結果の画像を示す。
左の画像は、ピントがすこしあまくボケているが、それでもいくつかの特徴点は、右の画像と正しく一致していることがわかる
なお、ソースでは、#include "opencv2/nonfree/features2d.cpp" となっているが
#include "opencv2/nonfree/nonfree.hpp" に変更している
また、読み込む専用のライブラリは、
#pragma comment(lib,"opencv_nonfree243d.lib")
#pragma comment(lib,"opencv_features2d243d.lib")
#pragma comment(lib,"opencv_flann243d.lib")
となる
0 件のコメント:
コメントを投稿