C++ OpenCV无法打开摄影机
我有一个OpenCV程序,应该使用一个网络摄像头,在这种情况下,内置笔记本电脑摄像头。程序编译得很好,没有错误,但当我运行它时,程序似乎挂断了:C++ OpenCV无法打开摄影机,c++,macos,opencv,camera,C++,Macos,Opencv,Camera,我有一个OpenCV程序,应该使用一个网络摄像头,在这种情况下,内置笔记本电脑摄像头。程序编译得很好,没有错误,但当我运行它时,程序似乎挂断了: img_scene = cvCaptureFromCAM(0); 我有一个不同的程序,以相同的方式访问相机,所以我不明白为什么这个程序似乎有问题 非工作程序的完整捕获代码: Mat captureThread() { if(captureOpen == false){ img_scene = cvCaptureFromCAM(0);
img_scene = cvCaptureFromCAM(0);
我有一个不同的程序,以相同的方式访问相机,所以我不明白为什么这个程序似乎有问题
非工作程序的完整捕获代码:
Mat captureThread() {
if(captureOpen == false){
img_scene = cvCaptureFromCAM(0);
cvSetCaptureProperty(img_scene, CV_CAP_PROP_FRAME_WIDTH, 640);
cvSetCaptureProperty(img_scene, CV_CAP_PROP_FRAME_HEIGHT, 480);
}
while(1) {
image = cvQueryFrame(img_scene);
if(image.empty()) {
continue;
}
cvtColor(image, gray, CV_BGR2GRAY);
return gray;
}
}
这是在按预期工作的不同程序中使用的代码:
img_scene = cvCaptureFromCAM(0);
cvSetCaptureProperty(img_scene, CV_CAP_PROP_FRAME_WIDTH, 640);
cvSetCaptureProperty(img_scene, CV_CAP_PROP_FRAME_HEIGHT, 480);
while(1) {
imageFrame = cvQueryFrame(img_scene);
if(imageFrame.empty()) {
continue;
cout << "image frame is empty" << endl;
}
cvtColor(imageFrame, gray, CV_BGR2GRAY);
是什么导致非工作程序无法访问摄像头?我还试着插上USB摄像头并从CAM-1设置cvCaptureFromCam-1,但也不起作用
编辑:
非工作程序使用多个线程,而工作程序不使用。重复我没有得到与该问题相同的对话框选项,该问题中提供的解决方案也没有解决我的问题。