Visual C++ 2010 Express edition & Win7 64bit でOpenCV 2.4.*の特徴点検出を使う
ブログ等で既にまとめている方が多いですが、個人的メモもかねて記載します。
OpenCVのビルドを行った後 OpenCVを呼び出す側のプロジェクトでの設定
達成できた事項と条件
SURFによる特徴点抽出のサンプルプログラムをコンパイル、実行可能とする。表記はVisual C++ 2010 Express edition日本語版のもの。
64bit設定
ソリューションのプロパティー(ソリューションエクスプローラで右クリックして表示、選択するで構成マネージャーを選択、プラットフォームをx64とする。新規作成でx64を選択し、設定のコピー元をWin32とするとよい。
"構成プロパティー"の"全般","プラットフォームツールセット"をWindows7.1SDKに選択
読み込むヘッダファイル
ソースコードのinclude部分を以下のように書き換える。
#include "opencv/cv.h" #include "opencv/highgui.h" #include "opencv2/nonfree/nonfree.hpp"
features2dは特徴点用
nonfreeはSIFT,SURFなどオープンでないライセンスのアルゴリズム実装。以下同様
インクルードパスの設定
プロジェクトのプロパティー(ソリューションエクスプローラで右クリックして表示、選択する)で
"C/C++"の"追加のインクルードディレクトリ"に
(OpenCVのディレクトリ)\build\include
を入力
ライブラリパスの設定
プロジェクトのプロパティー(ソリューションエクスプローラで右クリックして表示、選択する)で
"リンカー"の"全般","追加のライブラリディレクトリ"に
(OpenCVのディレクトリ)\build\x64\vc10\lib
ライブラリの設定
プロジェクトのプロパティー(ソリューションエクスプローラで右クリックして表示、選択する)で
"リンカー"の"追加の依存ファイル"に
opencv_core24?.lib
opencv_imgproc24?.lib
opencv_highgui24?.lib
opencv_objdetect24?.lib
opencv_features2d24?.lib
opencv_nonfree24?.lib
を設定(Rlease版ライブラリの場合?はマイナーバージョン、debug版の場合末尾は24?d.lib)
その他注意点(トラブルシューティング)
- imreadで画像が読み込めない…?
Release版のライブラリをDebugモードでコンパイルして使用しようとすると画像が読み込めないのでDebug版を使うようにする。
参考,情報ソース
- 実行時にtbb_debug.dllが無いといわれる
http://threadingbuildingblocks.org/ver.php?fid=171
から
tbb30_20110427oss_win.zip
をダウンロード、解凍してパスの通ったところにおく。
参考,情報ソース