我正在尝试使用 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 中使用。我做错了什么?有什么想法吗?