繁体   English   中英

在Mac OS X中从相机捕获视频

[英]Capture video from camera in Mac OS X

如何在MacOS X中过滤来自摄像机的视频流。我编写了QuickTime序列采集器通道组件,但是只有在应用程序使用SG API的情况下,它才起作用。 如果应用程序使用了QTKit Capture,则该组件不起作用。

有人知道我可以实现它吗?

您可以使用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 X上使用cvCaptureFromCAM(0)而不是通过-1成功使用OpenCV。 在Linux上,-1似乎可以。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM