VC++2008にOpenCV環境セットアップ、カメラでキャプチャ

最後にWindowsにもOpenCV環境をインストールする。VisualStudio2008ProfessionalのC++環境を使う。
これでMacUbuntuWindowsOpenCVできるようになった。


これに関しては奈良先端大の千原研wiki http://chihara.naist.jp/opencv/
Visual C++ 2008 Express Edition - OpenCV@Chihara-Lab.が参考になる。


手順

  1. OpenCV1.10インストール
  2. IPLインストール
  3. VS2008の設定、VS2008からOpenCVディレクトリへpathを通す
  4. 新規プロジェクトの作成、プロジェクトからOpenCVのライブラリを読み込む
  5. プログラム書く


sourceforgeからダウンロードしてOpenCV1.10をインストールした
http://sourceforge.net/projects/opencvlibrary/


次にipl25.exeをインストール
http://www.cvmt.dk/~hn/Images/install/IPL/
IPLはmacubuntu用のものが見つからなかった。



環境変数の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

opencv setup



さらにライブラリファイルにも追加

C:\Program Files\OpenCV\lib
C:\Program Files\Intel\plsuite\lib\msvc

opencv setup



「新しいプロジェクト」をVS2008C++で作る。「Win32コンソールアプリケーション」を選び、ウィザードでは
「空のプロジェクト」を選ぶ。
opencv setup


ソリューションエクスプローラでプロジェクト名を右クリックして[プロパティ]
[リンカ]→[入力]→[追加の依存ファイル]に

highgui.lib cxts.lib cv.lib cxcore.lib ml.lib cvaux.lib cvhaartraining.lib

を追加する。cvcam.libも入れるらしいが、入れたら見つからないとエラーが出たので入れないことにした。
opencv setup



ソリューションエクスプローラで「ソースファイル」を右クリックして[追加]→[新しい項目]して適当な名前の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;
}

速度はVMWare上のUbuntuと変わらないなあ
opencv setup