VC++2008にOpenCV環境セットアップ、カメラでキャプチャ
最後にWindowsにもOpenCV環境をインストールする。VisualStudio2008ProfessionalのC++環境を使う。
これでMac、Ubuntu、WindowsでOpenCVできるようになった。
これに関しては奈良先端大の千原研wiki http://chihara.naist.jp/opencv/
のVisual C++ 2008 Express Edition - OpenCV@Chihara-Lab.が参考になる。
手順
- OpenCV1.10インストール
- IPLインストール
- VS2008の設定、VS2008からOpenCVディレクトリへpathを通す
- 新規プロジェクトの作成、プロジェクトからOpenCVのライブラリを読み込む
- プログラム書く
sourceforgeからダウンロードしてOpenCV1.10をインストールした
http://sourceforge.net/projects/opencvlibrary/
次にipl25.exeをインストール
http://www.cvmt.dk/~hn/Images/install/IPL/
IPLはmacやubuntu用のものが見つからなかった。
環境変数のPathに
C:\Program Files\OpenCV\bin;C:\Program Files\Intel\plsuite\bin\;
を追加、有効にするために再起動。
VS2008そのものにOpenCVへのpathを設定。これは1回やれば良い
[ツール]→[オプション]→[プロジェクトおよびソリューション]→[VC++ディレクトリ]→[インクルードファイル]
に追加
C:\Program Files\OpenCV\cv\include C:\Program Files\OpenCV\cvaux\include C:\Program Files\OpenCV\cxcore\include C:\Program Files\OpenCV\otherlibs\highgui C:\Program Files\Intel\plsuite\include
さらにライブラリファイルにも追加
C:\Program Files\OpenCV\lib C:\Program Files\Intel\plsuite\lib\msvc
「新しいプロジェクト」をVS2008C++で作る。「Win32コンソールアプリケーション」を選び、ウィザードでは
「空のプロジェクト」を選ぶ。
ソリューションエクスプローラでプロジェクト名を右クリックして[プロパティ]
[リンカ]→[入力]→[追加の依存ファイル]に
highgui.lib cxts.lib cv.lib cxcore.lib ml.lib cvaux.lib cvhaartraining.lib
を追加する。cvcam.libも入れるらしいが、入れたら見つからないとエラーが出たので入れないことにした。
ソリューションエクスプローラで「ソースファイル」を右クリックして[追加]→[新しい項目]して適当な名前のcppファイルを新しく作って、そこにプログラムを書く。(今回はimage.cppとする)
プログラムを書く。OpenCVはhighgui等を使っている限りクロスプラットフォームなので、前の記事のUbuntuで動かしたのと同じプログラムが動く
image.cpp
#include <stdio.h> #include <highgui.h> int main(int argc, char** argv) { CvCapture *capture; IplImage *frameImage; char windowNameCapture[] = "Capture"; capture = cvCreateCameraCapture(0); cvNamedWindow(windowNameCapture, CV_WINDOW_AUTOSIZE); while (1) { frameImage = cvQueryFrame(capture); cvShowImage(windowNameCapture, frameImage); if (cvWaitKey(33) == 'q') break; } cvReleaseCapture(&capture); cvDestroyWindow(windowNameCapture); return 0; }