Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenCV无法打开摄影机_C++_Macos_Opencv_Camera - Fatal编程技术网

C++ 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);

我有一个OpenCV程序,应该使用一个网络摄像头,在这种情况下,内置笔记本电脑摄像头。程序编译得很好,没有错误,但当我运行它时,程序似乎挂断了:

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,但也不起作用

编辑:
非工作程序使用多个线程,而工作程序不使用。

重复我没有得到与该问题相同的对话框选项,该问题中提供的解决方案也没有解决我的问题。