когда я запускаю приведенный ниже код, выскакивает окно камеры.Но после того, как я нарисовал ROI, нажав I. Получился дамп.и при повторном его запуске возникают ошибки.
Я попытался перекомпилировать OpenCV, добавив libv4l / v4l2, и я уверен, что получил правильный интерфейс камеры.
#include "particleFilterTracking.h"
#include "getInitialRect.h"
#include <iostream>
using namespace std;
int main (int argc, char** argv)
{
//Mat img=imread("img2.jpeg");
Mat img;
VideoCapture video(0);
while(1)
{
video>>img;
imshow("GetInitialRect",img);
char c= waitKey(100);
if(c=='i')
break;
}
InitialRect intialRect=InitialRect();
Rect toTrack= intialRect.getInitialRect(img);
ParticleFilterTrackor trackor=ParticleFilterTrackor();
trackor.Initialize(img,toTrack);
float maxWeight=0;
while(1)
{
video>>img;
int t=trackor.ColorParticleTracking(img,toTrack, maxWeight);
cout<<t<<" "<<maxWeight<<endl;
rectangle(img,toTrack,Scalar(10,10,200),5);
imshow("img",img);
char c= waitKey(100);
if(c=='q')
break;
}
return 0;
}
Вот ошибки, которые я получил до сих пор:
(процесс: 8010): GStreamer-CRITICAL **: 10: 34: 36.300: gst_element_get_state: утверждение 'GST_IS_ELEMENT(элемент) 'не удалось libv4l2: ошибка установки pixformat: устройство или ресурс заняты VIDEOIO ERROR: libv4l не удалось ioctl S_FMT libv4l2: ошибка установлена pixformat: устройство или ресурс заняты libv4l1: ошибка установки pixformat: устройство или ресурс занят VIDEOIO ERROR: libv4l не удалось ioctlVIDIOCSPICT
завершить вызов после выброса экземпляра 'cv :: Exception'
what (): OpenCV (3.4.2) /home/jinhua/opencv-3.4.2/modules/highgui/src/window.cpp: 364: ошибка: (-215: подтверждение не выполнено) size.width> 0 && size.height> 0 в функции 'imshow'