俺#

新潟市でIT業を営むおっさんのブログ。

C++Builder2009でOpenCV1.0を使用する

イロイロな画像処理がラクチンにできてしまうBSDライセンスのライブラリ「OpenCV」を試すことになった。

http://opencv.jp/

上記日本語サイトにダウンロードページへのリンクがある。最新の1.1はまだプレリリースなので、安定版の1.0を使おう。

http://www18.ocn.ne.jp/~amedas/tips/opencv_borland.html

C++Builder用のmakefileが付いて来るが、上記の手順では最新のC++Builder2009でコンパイルが通らない。残念だが今回はとにかく動けばいいのでmakeせずに使うことにしよう。

http://www.wretch.cc/blog/FuKuanRu/10429683(注:中国語)

以下の手順では上記を参考した。謝々:-)

1)OpenCVをインストールする

ダウンロードした「OpenCV_1.0.exe」を実行する。Vista環境なので、メンドウを回避するため「C:\Program Files」ではなく「C:\」直下にインストールする。

2)インポートライブラリを変換する

以下の内容のバッチファイルを「C:\OpenCV\lib」に作成し実行する。

mkdir codegear
coff2omf.exe -lib:ms cv.lib codegear\cv.lib
coff2omf.exe -lib:ms cvaux.lib codegear\cvaux.lib
coff2omf.exe -lib:ms cvcam.lib codegear\cvcam.lib
coff2omf.exe -lib:ms cvhaartraining.lib codegear\cvhaartraining.lib
coff2omf.exe -lib:ms cxcore.lib codegear\cxcore.lib
coff2omf.exe -lib:ms cxts.lib codegear\cxts.lib
coff2omf.exe -lib:ms highgui.lib codegear\highgui.lib
coff2omf.exe -lib:ms ml.lib codegear\ml.lib
pause

3)インクルードパスを追加する

プロジェクトのオプションで以下のインクルードパスを追加する。

C:\OpenCV\cv\include
C:\OpenCV\cxcore\include
C:\OpenCV\otherlibs\highgui
C:\OpenCV\cvaux\include
C:\OpenCV\otherlibs\cvcam\include

4)プロジェクトにlibファイルを追加する

「C:\OpenCV\lib\codegear」に生成されたlibをプロジェクトに追加する。

5)DLLをコピーする

exeの出力先に「C:\OpenCV\bin」内の8個のDLLをコピーする。

6)#includeを追加する

#include
#include

これは必要に応じて増減...かな?

以上で準備完了。

http://gihyo.jp/dev/feature/01/opencv/0003?page=3

早速上記のサンプルコードをボタン押下イベントハンドラにコピペして試したところ、無事顔認識に成功。