我试图用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; 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。我做错了什么?有什么想法吗?