Qt OpenCV从捕获帧写入视频,而不是保存

时间:2018-01-29 18:50:56

标签: qt opencv qt-creator video-capture

我可以成功保存从c ++ opencv中捕获的视频没有问题。

类似的代码没有捕获视频。刚打开out.avi。并且只有6 kb。

我把代码放在showframe func中。没有调整大小。

有没有人在Qt上使用opencv videowriter?

void Widget::show_frame(Mat &image)
{
    Mat resized_image = image.clone();
    video.write(image);

    int width_of_label = ui->label_camera->width();
    int height_of_label = ui->label_camera->height();

    Size size(width_of_label, height_of_label);

//    cv::resize(image, resized_image, size);
    cvtColor(image,image,CV_BGR2RGB);
    cvtColor(resized_image, resized_image, CV_BGR2RGB);

ps:平台MacOSX

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我尝试了很多解决方案,我认为你可以使videowriter()的第五个参数为false。也就是说,VideoWriter out = VideoWriter(video_name,CV_FOURCC('D','I','V','X'),frame_fps,Size(frame_width,frame_height),false)。这对我有用!

答案 1 :(得分:0)

确保您的应用程序可以访问opencv_ffmpeg * .dll。例如,将其放在工作目录或PATH变量中。

尝试不同的编解码器。 Afaik,MJPG到目前为止在所有经过测试的机器/系统上工作。