我要在opencv中运行VideoCapture时弹出VIDEOIO错误

时间:2019-06-18 16:30:01

标签: c++ opencv

当我运行以下代码时,相机窗口弹出。但是,当我按I绘制ROI之后,它就转储了。再次运行时出现错误。

我尝试通过添加libv4l / v4l2来重新编译OpenCV,并且我确定我拥有正确的摄像头界面。

#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:3​​4:36.300:   gst_element_get_state:断言“ GST_IS_ELEMENT(元素)”失败   libv4l2:错误设置像素格式:设备或资源繁忙VIDEOIO   错误:libv4l无法ioctl S_FMT libv4l2:错误设置像素格式:   设备或资源繁忙libv4l1:错误设置像素格式:设备或   资源繁忙VIDEOIO错误:libv4l无法识别VIDIOCSPICT

     抛出'cv :: Exception'实例后调用

terminate
  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'

0 个答案:

没有答案