如何在 MacOS X 中过滤来自摄像头的视频流。我编写了 QuickTime 序列采集器通道组件,但仅当应用程序使用 SG API 时它才有效。如果应用程序使用 QTKit Capture,则该组件无法工作。
有人知道我该如何实施它吗?
您可以使用 OpenCV 进行视频处理,它是一个跨平台图像/视频处理库:http://opencv.willowgarage.com 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 X 上使用 cvCaptureFromCAM(0) 成功使用 OpenCV,而不是传递 -1。在linux上,-1似乎就可以了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)