0

所以我在视频中绘制颜色形状(绿色、红色和白色。一切都很好。但是,如果我想将帧写入 VideoWriter,则帧中的所有这些形状将转换为黑色。这是我的代码:

CvVideoWriter *new_writer = cvCreateVideoWriter("video.avi",CV_FOURCC('M', 'J', 'P', 'G'), 30, Size(640, 480), 1); 
IplImage new_img;

while(!frame.empty()){

    //My code
    imshow("Frame", frame);

    new_img = frame.operator IplImage();  
    int ret = cvWriteFrame(new_writer, (const IplImage*)&new_img);

}
cvReleaseVideoWriter(&new_writer);

这里的问题与cvWriteFrame() 一致。在此之后,所有形状都转换为黑色。它们在新中显示为黑色,在创建的视频中它们也是黑色的。我错过了什么吗?

4

1 回答 1

0

将编解码器从CV_FOURCC('M', 'J', 'P', 'G') 更改为CV_FOURCC('I', 'Y', 'U', 'V') 后一切正常,颜色正确。

于 2013-10-01T07:11:47.643 回答