如何在MacOS X中過濾來自攝像頭的視頻流。我編寫了quicktime序列捕獲器通道組件,但只有在應用程序使用SG API時才能使用。如果應用程序使用QTKit Capture,則該組件不起作用。在Mac OS X中捕獲攝像頭中的視頻
有人知道我可以如何實現它嗎?
如何在MacOS X中過濾來自攝像頭的視頻流。我編寫了quicktime序列捕獲器通道組件,但只有在應用程序使用SG API時才能使用。如果應用程序使用QTKit Capture,則該組件不起作用。在Mac OS X中捕獲攝像頭中的視頻
有人知道我可以如何實現它嗎?
你可以使用OpenCV進行視頻處理,這是一個跨平臺的圖像/視頻處理庫:http://opencv.willowgarage.com
您的代碼將是這個樣子:
CvCapture* capture = NULL;
if ((capture = cvCaptureFromCAM(-1)) == NULL)
{
std::cerr << "!!! ERROR: vCaptureFromCAM No camera found\n";
return -1;
}
cvNamedWindow("webcam", CV_WINDOW_AUTOSIZE);
cvMoveWindow("webcam", 50, 50);
cvQueryFrame(capture);
IplImage* src = NULL;
for (;;)
{
if ((src = cvQueryFrame(capture)) == NULL)
{
std::cerr << "!!! ERROR: vQueryFrame\n";
break;
}
// perform processing on src->imageData
cvShowImage("webcam", &src);
char key_pressed = cvWaitKey(2);
if (key_pressed == 27)
break;
}
cvReleaseCapture(&camera);
我在Mac OS上使用OpenCV的成功X使用cvCaptureFromCAM(0)而不是傳遞它-1。在Linux上,-1似乎確實。
看起來最後應該有cvReleaseCapture(&capture);
。