У меня есть этот код, который захватывает изображение с веб-камеры с помощью OpenCV:
#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;
}
Я получаю следующее изображение в качестве вывода.
Раньше все работало нормально. Я не знаю, что происходит. Я попробовал самый простой из всех кодов при поиске, но ничего не получалось. Пожалуйста, дайте мне знать, что может быть не так с этим.
заранее спасибо.
РЕДАКТИРОВАТЬ
Одна вещь, которую я забыл упомянуть, это то, что я работаю над beagleBone Black. этот же кусок кода прекрасно работает с моим Mac.
Может быть, добавление проверки кадров будет полезно.
Mat meter_image;
while(meter_image.empty()){
cap >> meter_image;
}
Но есть риск бесконечного цикла.
Других решений пока нет …