繁体   English   中英

无法在OpenCV中阅读视频

[英]Unable to read video in opencv

我正在尝试读取视频文件,但是它抛出错误。 代码是:

#include <iostream>
#include <opencv/highgui.h>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
    Mat inputVideo;
    Mat frame;
    Mat HSV;
    Mat tracking;
    char checkKey;
    VideoCapture capture;
    capture.open("video/input.mp4");
    capture.set(CV_CAP_PROP_FRAME_WIDTH, 640);
    capture.set(CV_CAP_PROP_FRAME_HEIGHT,480);      
    namedWindow("Original Video", WINDOW_AUTOSIZE );
    while(1){
        capture.read(inputVideo);
        if (!inputVideo.empty())
        {
            imshow("Original Video",inputVideo);

        }
        waitKey(20);

    }
    return 0;
 }

在运行此代码时,我得到的错误是:

无法停止流:设备的不适当的ioctl

(视频阅读:3459):GLib-GObject-CRITICAL **:g_object_set:断言“ G_IS_OBJECT(对象)”失败

我试图寻找解决方案,但没有得到。 有人可以帮助我解决此错误吗?

我对您的代码没有什么改动。 尝试这个:

#include <iostream>
#include <opencv/highgui.h>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
    Mat inputVideo;
    Mat frame;
    Mat HSV;
    Mat tracking;
    char checkKey;
    VideoCapture capture;
    capture.open("video/input.mp4");
    capture.set(CV_CAP_PROP_FRAME_WIDTH, 640);
    capture.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
    namedWindow("Original Video", WINDOW_AUTOSIZE);
    while (1) {
        capture >> inputVideo;
        if (inputVideo.empty())
            break;
        imshow("Original Video", inputVideo);
        waitKey(1);
    }
    capture.release();
    return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM