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

问题描述 投票:0回答:2

我可以成功保存从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

qt opencv qt-creator video-capture
2个回答
1
投票

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.