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のキャプチャが利用できるようになるみたい.コード例を以下に示します.
[cpp]
#include
#include
#include
#pragma comment(lib,”cv.lib”)
#pragma comment(lib,”cxcore.lib”)
#pragma comment(lib,”highgui.lib”)
int main(int argc, char **argv)
{
CvCapture *capture = 0;
IplImage *frame = 0;
int c;
//カメラキャプチャ(DirectShow)の初期化
capture = cvCreateCameraCapture(CV_CAP_DSHOW);
//ウィンドウの表示
cvNamedWindow (“Capture”, CV_WINDOW_AUTOSIZE);
while(1)
{
frame = cvQueryFrame(capture);
cvShowImage(“Capture”, frame);
c = cvWaitKey(1);
//ESCキーが押されたら終了
if(c == ‘\x1b’)
{
break;
}
}
cvReleaseCapture(&capture);
cvDestroyWindow(“Capture”);
return 0;
}
[/cpp]
といった感じで,これまでの記述と同じ感じでDirectShowのキャプチャが簡単にできるようになるようです.
※ただし,2008/10/10現在のvideoInput Libraryにはfps変更用のメソッドがないので,fps変更はできません.
ということで,OpenCV/videoInput Libraryによるビデオキャプチャ
という記事の存在意義がなk(以下,自主規制)