OpenCV + python — acquérir des images à partir d'un fichier vidéo

Je n'arrive pas à capturer des images à partir d'un fichier à l'aide d'OpenCV -- j'ai compilé à partir des sources sur Ubuntu avec tout le nécessaire prereqs selon: http://opencv.willowgarage.com/wiki/InstallGuide%20%3A%20Debian

#!/usr/bin/env python

import cv
import sys

files = sys.argv[1:]

for f in files:
    capture = cv.CaptureFromFile(f)
    print capture

    print cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH)
    print cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT)

    for i in xrange(10000):
        frame = cv.QueryFrame(capture)
        if frame:
            print frame

De sortie:

ubuntu@local:~/opencv$ ./test.py bbb.avi 
<Capture 0xa37b130>
0.0
0.0

Les cadres sont toujours Aucun...

J'ai transcodé un fichier vidéo à i420 format:

mencoder $1 -nosound -ovc raw -vf format=i420 -o $2

Des idées?

C'est exactement ce que je cherchais. Cela a fonctionné parfaitement pour moi sur Ubuntu 10.04 à l'aide d'Opencv 2,1 paquets. Merci!

OriginalL'auteur Matt Billenstein | 2011-02-08