OpenCVの開発環境を整える~Windows編(XP)~

Windows環境では前述のUNIX環境の様にCygwinなどを用いてg++でコードをコンパイルすることもできるが、今回は開発環境としてVisual Studioを使用する

Visual Studio 2008 Professional


VCを起動させてツールバーから
ツール→オプション
プロジェクト及びソリューション→VC++ディレクトリ を選択

右上の
ディレクトリを表示する→インクルードファイル

新しい行を追加する を選択し以下のパスを追加する
C\Program Files\OpenCV\othorlibs\highgui
C\Program Files\OpenCV\cv\include
C\Program Files\OpenCV\cvaux\include
C\Program Files\OpenCV\cxcore\include

ディレクトリを表示する→ライブラリファイル

新しい行を追加する を選択し以下のパスを追加する
C\Program Files\OpenCV\lib

以上の入力により、Visual StudioOpenCVを利用するためのリンクが張られる。この操作はプロジェクト作成ごとにする必要はない。

プロジェクトを作成する
ツールバーから
ファイル→新規作成→プロジェクト

Visual C++→Win32→Win32コンソールアプリケーション を選択
プロジェクト名を入力
今回は「capture」とした

次へ

コンソールアプリケーション→空のプロジェクト を選択して次へ

作成したプロジェクトのリンカの設定を行う
プロジェクトを右クリックし、プロパティを開く

構成プロパティ→リンカ→入力→追加の依存ファイル を選択

以下のファイルを追加する
highgui.lib cxts.lib cv.lib cxcore.lib ml.lib cvhaartraining.lib

ソースファイルの作成を行う

capture→ソースファイル→追加→新しい項目 を選択

C++ファイルを選択し、ファイル名を入力する
今回はプロジェクト名と同じく「capture」とした

テキストエディター部分にコードを入力する
今回入力したコードを以下に示す

#include <cv.h>
#include <highgui.h>
#include <ctype.h>

int main (int argc, char **argv)
{
  int key;
  CvCapture *capture = NULL;

  if( ( capture = cvCreateCameraCapture( 0 ) ) == NULL ) {
    return -1;
  }   
   IplImage *frame = cvQueryFrame (capture);

  cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, frame->width);
  cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, frame->height);

  cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE);

  while (1) {
    frame = cvQueryFrame( capture );
    cvShowImage ("Capture", frame);
    key = cvWaitKey (10);
    if (key == 'q')
      break;
  }

  cvReleaseCapture (&capture);
  cvDestroyWindow ("Capture");

  return 0;
}


実行する

使用したPCにカメラが繋がっていれば、動画像を取得して表示させることができる