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 に答える