OpenCV+C++ カメラによる動画撮影
#include "opencv/highgui.h" #include <stdio.h> using namespace cv; int main(void){ //http://opencv.jp/opencv-1.0.0/document/opencvref_highgui_video.html CvCapture *camera=cvCreateCameraCapture(0); if(camera==NULL){ printf("カメラが見つかりません"); return -1; } double width=1920,height=1080; cvSetCaptureProperty(camera,CV_CAP_PROP_FRAME_WIDTH,width); cvSetCaptureProperty(camera,CV_CAP_PROP_FRAME_HEIGHT,height); while(cvWaitKey(1)==-1){ //cvQueryFrameはCvCapture型の1フレームをIplImage型で返す。 //IplImage型をMat型に変換している。(Matのほうが良いっぽい?違いが分からない) Mat image(cvQueryFrame(camera)); imshow("camera",image); } cvReleaseCapture(&camera); cvDestroyWindow("camera"); return 0; }
g++ webcamera.cpp `pkg-config --cflags opencv` `pkg-config opencv --libs` -o OpenCV ./OpenCV
結果は、
ちなみに使ったカメラはELECOMのDLE300TBKです。
首振り機能は無いが画質は良いようです。