视频中的移位图像

时间:2012-04-15 19:56:34

标签: c++ video opencv

我正在尝试使用opencv的VideoWriter编写视频。这是代码:

int main() {
    //read image from file:
    Mat image(cvLoadImage("temp.bmp"));
    //create videowriter (DivX codec):
    VideoWriter record("output.avi", CV_FOURCC('D','I','V','X'), 30, image.size(), true);
    for (int i=0; i<100; ++i) {
        //write frame to video:
        record<<image;
    }
}

这是我想写的图像(temp.bmp): input

(我可以上传原始的bmp文件,但即使这个png结果是相同的 - 见下文)。

但是当我打开视频(output.avi)时,我看到了这个: enter image description here

为什么视频如此转变? 我尝试different codecs并使用cvtColor(CV_BGR2xxx)将图片转换为不同类型,但没有运气。

是时候报告错误了吗?

2 个答案:

答案 0 :(得分:0)

我刚刚在OpenCV 2.4.1上测试过这个问题(之前我在2.3.1版本上进行了测试),它运行正常!这似乎是一个错误。

答案 1 :(得分:0)

我遇到了和你一样的问题:

VideoWriter out_capture("video.avi",CV_FOURCC('M','J','P','G'), 30, RESULTS[0].size() ,true);

for(int i = 0 ; i < RESULTS.size() ; i++)
{
    Mat img;
    RESULTS[i].copyTo(img);

    if(img.empty())
        break;
    out_capture << img;
}

RESULTS是存储我所有图像的矢量。

以下是视频的框架: enter image description here

我想要的是: enter image description here