在Mac OS X中从相机捕获video

我如何在MacOS X中过滤来自摄像头的video流。我编写了quicktime序列抓取器通道组件,但只有当app使用SG API时才能工作。 如果应用程序使用QTKit Capture,则组件无效。

有人知道我该如何实现它?

您可以使用OpenCV进行video处理,它是一个跨平台的图像/video处理库: 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); 

我使用cvCaptureFromCAM(0)在Mac OS X上使用OpenCV成功,而不是传递-1。 在linux上,-1似乎没问题。

看起来应该有cvReleaseCapture(&capture); 在末尾。