2

我正在尝试使用 OpenCV 编写自己的应用程序,但我遇到了问题。cvCaptureFromCAM() 没有在我的 Mac 上加载任何帧。我试过这样:

CvCapture* capture = NULL;

if ((capture = cvCaptureFromCAM(-1)) == NULL) {
    std::cerr << "!!! ERROR: vCaptureFromCAM No camera found\n";
    return;
}

cvNamedWindow("webcam", CV_WINDOW_AUTOSIZE);
cvMoveWindow("webcam", 50, 50);

IplImage* src = NULL; for (;;) {
    if ((src = cvQueryFrame(capture)) == NULL) {
        std::cerr << "!!! ERROR: vQueryFrame\n";
        break;
    }

    cvShowImage("webcam", &src);
}

cvReleaseCapture(&capture);

和这个:

cv::VideoCapture 上限;cap.open(0);

if( !cap.isOpened() )
{
    std::cerr << "***Could not initialize capturing...***\n";
    std::cerr << "Current parameter's value: \n";
    return;
}

cv::Mat frame;
while(1){
    cap >> frame;
    if(frame.empty()){
        std::cerr<<"frame is empty"<<std::endl;
        break;
    }

    cv::imshow("", frame);
    cv::waitKey(10);
}

这两种方法在 linux 上运行良好,但在我的 mac 上不行。我的内置摄像头可以在 Skype 和 Photo Booth 中使用。我做错了什么?有什么想法吗?

4

0 回答 0