所以我在视频中将颜色形状(绿色,红色和白色)绘制为 frame 。一切都很好。但是如果我想将帧写入VideoWriter, frame 中的所有这些形状都会转换为黑色。这是我的代码:
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() 一致。在此之后,所有形状都转换为黑色。它们在新的 框架 中显示为黑色,在创建的视频中它们也是黑色。 我错过了什么吗?
答案 0 :(得分:0)
从 CV_FOURCC更改编解码器后(' M',' J',' P',' G')到 CV_FOURCC('我',' Y',' U'' V')一切都是很好,颜色也很合适。