2012-02-22 2 views
5

Sto disperatamente cercando di caricare un file video in OpenCV in Python (su OSX Lion) utilizzando il seguente codice:Caricamento di un video in OpenCV in Python

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

Tuttavia, ho solo ottenere il seguente avviso :

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

non v'è alcuna spiegazione su cosa sia il problema (non è possibile trovare il file, codec sbagliato, ecc). Per quanto riguarda Google, sono l'unico dell'universo a ottenere questo messaggio esatto in OpenCV.

Ho letto le 'docs compatibilità Codec' here e fatto in modo di convertire il video al codec corretto utilizzando mencode, ma ancora non funziona.

Qualche idea su cosa sto facendo male?

+0

Hai provato a usare il percorso completo? se in.avi non si trova nella directory di lavoro corrente dello script, allora sarà un problema il modo in cui è scritto. – platinummonkey

+0

Era esattamente così! Nel mio caso doveva essere: /Users/lauge/Desktop/video.mov – laugejepsen

+0

Woo! pubblicato come formale SO! – platinummonkey

risposta

10

Risposta: Vedi il mio commento - Percorso errato.

+2

Lo stesso qui. Non capisco perché questo metodo abbia bisogno di un percorso assoluto. –

+0

Penso che questo è un problema con la versione di Mac OS ... lo stesso codice viene eseguito alla perfezione sulla mia macchina Ubuntu, ma si blocca sul mio MacBook – subzero

+0

Idealmente qualcuno potrebbe commettere un cerotto e aggiungere # import os ... path = os.path.abspath (os.path.expanduser (percorso)) –

0

In alternativa, le cartelle home di supporto e sostituire i percorsi relativi a quelli assoluti utilizzando

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