捕获OpenCV后,图像显示为绿色

时间:2016-05-16 07:52:13

标签: c++ opencv webcam-capture

我有这个代码,使用OpenCV从Webcam捕获图像:

#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

#include <iostream>
#include <stdio.h>

using namespace std;
using namespace cv;

int main( )
{
    VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
        return -1;

    Mat meter_image;
    cap >> meter_image;

    imwrite("/boneCV-master/img.jpg", meter_image);

    return 0;
}

我得到以下图像作为输出。

enter image description here

以前它工作正常。我不知道发生了什么。我在google搜索时尝试了最简单的代码,但没有任何效果。请告诉我它可能出现的问题。

提前感谢。

修改

我忘记提到的一件事是我正在研究beagleBone Black。同样的代码对我的mac很有用。

1 个答案:

答案 0 :(得分:0)

也许添加框架检查会有所帮助。

Mat meter_image;
while(meter_image.empty()){
    cap >> meter_image;
}

但是存在无限循环的风险。