Failed to create basic video file using OpenCV

I am trying to create a basic video file using OpenCV (in Python). I have the following code that works without any errors, but I do not see how the output file is created. I was wondering if anyone has any ideas as to what is going wrong.

from cv import *
im1 = LoadImage("/home/spoll/laptop1.jpg")
im2 = LoadImage("/home/spoll/laptop2.jpg")

writer = CreateVideoWriter("/home/spoll/out", CV_FOURCC('F', 'L', 'V', '1'), 2, (im1.width, im1.height))
if writer is None:
    print "Error in creating video writer"
else:
    print WriteFrame(writer, im1)
    print WriteFrame(writer, im2)

Thank!

+3
source share
2 answers

Why don't you check for errors? If it CreateVideoWriter()does not work, you will never know.

I think CreateVideoWriter returns NULL . Add the appropriate code to verify the return and make sure it is true.

If so, the problem is most likely CV_FOURCC()that the codec cannot find.

: AVI OpenCV

OpenCV ( , v2.2).

:

CreateVideoWriter:

#!/usr/bin/env python
import sys

from opencv.cv import *
from opencv.highgui import *

im1 = cvLoadImage("img1.jpg")
if not im1:
    print "Could not load im1"

im2 = cvLoadImage("img2.jpg")
if not im2:
    print "Could not load im2"

fps = 4.0
frame_size = cvGetSize(im1)
#writer = cvCreateVideoWriter("out.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True)
writer = cvCreateVideoWriter("out.avi", CV_FOURCC('F', 'L', 'V', '1'), fps, frame_size, True)
if not writer:
    print "Error in creating video writer"
    sys.exit(1)
else:
    print cvWriteFrame(writer, im1)
    print cvWriteFrame(writer, im2)

cvReleaseVideoWriter(writer)

, OpenCV/Linux/Python cvCreateVideoWriter(). , .

+3

: Opencv python cvReleaseVideoWriter(writer) del writer

0

All Articles