2012-02-22 25 views
5

Estoy intentando desesperadamente para cargar un archivo de vídeo en OpenCV en Python (en OSX Lion) usando el siguiente código:Cargando un video en OpenCV en Python

> import cv 
> capture = cv.CaptureFromFile("in.avi") 

Sin embargo, solo me dan la siguiente advertencia :

> WARNING: Couldn't read movie file in.avi 

no hay ninguna explicación en cuanto a cuál es el problema (que no puede encontrar el archivo, el codec equivocado, etc.). En lo que respecta a Google, soy el único en el universo que recibe este mensaje exacto en OpenCV.

He leído los documentos codec 'compatibilidad' here y se aseguraron de convertir el vídeo al codec correcto utilizando mencode, pero todavía no funciona.

¿Alguna idea de lo que estoy haciendo mal?

+0

¿Ha intentado utilizar la ruta completa? Si el archivo .avi no está en el directorio de trabajo actual del script, entonces será un problema la forma en que está escrito. – platinummonkey

+0

¡Eso fue exactamente! En mi caso, necesitaba ser: /Users/lauge/Desktop/video.mov – laugejepsen

+0

Woo! publicado como SO formal! – platinummonkey

Respuesta

10

Respuesta: Ver mi comentario - Camino equivocado.

+2

Lo mismo aquí. No entiendo por qué este método necesita una ruta absoluta. –

+0

creo que esto es un problema con la versión Mac OS ... el mismo código funciona perfectamente en mi máquina ubuntu, pero se bloquea en mi MacBook – subzero

+0

Lo ideal sería que alguien podría cometer un parche y añadir import os ... path = os.path.abspath (os.path.expanduser (path)) –

0

Alternativamente, las carpetas principales de apoyo y reemplazar las rutas relativas a las absolutas utilizando

#import os 
... 
path = os.path.abspath(os.path.expanduser(path))