OpenCVのCVS版(2008/10/10)をダウンロードして,いろいろ遊んでみました.
自身の動作環境は以下の通りです.

OS: Windows Vista Ultimate
IDE: Visual Studio 2005 Pro
DirectShow: Windows SDK v6.0
OpenCV: CVS版(20081010)

まず,気になる機能としてSURFがあるので,OpenCVで用意されているサンプルプログラム
C:\Program Files\OpenCV\samples\c\find_obj.cpp
を試してみました.




おおー,いろいろ応用できそうな感じですね.

***********************************

また,CVS版では,highguiのキャプチャ機能にvideoInput Library
組み込まれているようです.なので,highguiで提供されているcvCreateCameraCapture関数で
DirectShowのキャプチャが利用できるようになるみたい.コード例を以下に示します.

C++:
  1. #include <cv.h>
  2. #include <cxcore.h>
  3. #include <highgui.h>
  4.  
  5. #pragma comment(lib,"cv.lib")
  6. #pragma comment(lib,"cxcore.lib")
  7. #pragma comment(lib,"highgui.lib")
  8.  
  9. int main(int argc, char **argv)
  10. {
  11.     CvCapture *capture = 0;
  12.     IplImage *frame = 0;
  13.     int c;
  14.  
  15.     //カメラキャプチャ(DirectShow)の初期化
  16.     capture = cvCreateCameraCapture(CV_CAP_DSHOW);
  17.  
  18.     //ウィンドウの表示
  19.     cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE);
  20.  
  21.     while(1)
  22.     {
  23.         frame = cvQueryFrame(capture);
  24.         cvShowImage("Capture", frame);
  25.         c = cvWaitKey(1);
  26.  
  27.         //ESCキーが押されたら終了
  28.         if(c == '\x1b')
  29.         {
  30.             break;
  31.         }
  32.     }
  33.  
  34.     cvReleaseCapture(&capture);
  35.     cvDestroyWindow("Capture");
  36.  
  37.     return 0;
  38. }


といった感じで,これまでの記述と同じ感じでDirectShowのキャプチャが簡単にできるようになるようです.
※ただし,2008/10/10現在のvideoInput Libraryにはfps変更用のメソッドがないので,fps変更はできません.

ということで,OpenCV/videoInput Libraryによるビデオキャプチャ
という記事の存在意義がなk(以下,自主規制)

1 件のコメント “OpenCVのCVS版(20081010)で遊んでみた”
  1. [...] ということで,気分も乗ってきたので OpenCVのCVS版(20081010)で遊んでみた というエントリで試したSURFを動画に適用してみました. [...]

  2.  
コメントする