open a videowriter based on a videocapture
Several things are tricky about this one:
the get() function in opencv always returns a float, so we have to cast it to the appropriate values.
the get() function flags are defined in cv, and not cv2.
there is no Size() object in python, instead we need a tuple of ints
the size the video expects is in the order of width, height – so columns, rows
import cv
import cv2
import sys
samplecap = cv2.VideoCapture(filename)
if not samplecap.isOpened():
print "Error: could not open capture " + filename + ".\n"
sys.exit()
framesize = (int(samplecap.get(cv.CV_CAP_PROP_FRAME_WIDTH)), int(samplecap.get(cv.CV_CAP_PROP_FRAME_HEIGHT)))
samplewriter = cv2.VideoWriter()
samplewriter.open(outname,
int(samplecap.get(cv.CV_CAP_PROP_FOURCC)),
int(samplecap.get(cv.CV_CAP_PROP_FPS)),
framesize)