2010-09-10 6 views
7

utilizzando l'installazione MacPorts di OpenCV non sembra installare i binding Python da nessuna parte. Sono inclusi, dove vanno?opencv macport python binding

+1

Hai mai arrivare a questo lavoro con una qualsiasi delle risposte qui sotto? –

risposta

10

'stato selezionato il + variante python26 per lo MacPorts port?

$ sudo port install opencv +python26 
1

Questo dovrebbe installato in

/Library/Python/2.6/site-packages 

se si utilizza sudo port install ..

Le directory 2.6, 2.5 .. dipenderà versione di Python sul percorso.

Grazie Ned, correggendo quanto sopra - Questi sono mac os x distribuzione.

MacPorts non mettere ogni cosa sotto:

/opt/local/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/site-packages

+0

Non probabile. Con un paio di eccezioni, MacPorts fa tutto il possibile * non * per installare qualsiasi cosa tranne che con la propria radice, '/ opt/local /' di default. MacPorts python2.6 installa i pacchetti del sito nel suo albero di directory '/ opt/local/Library/Frameworks/Python.framework'. –

1

essere sicuri di avere py26-numpy installato per avere il supporto per le funzioni di base come ad esempio cv.fromarray:

sudo port install py26-numpy 

opencv compilerà in silenzio, senza NumPy (non è strettamente una dipendenza).

sudo port install -v opencv +python26 

lì è possibile verificare che l'associazione a numpy sia efficace.

7

Ho riscontrato questo stesso problema. Sembra che i binding di OpenCV Python siano compilati e installati, ma non sono referenziati nella directory "site-packages". Ho trovato una soluzione aggiungendo un collegamento simbolico al file "cv.so" creato nella directory "site-packages" del pacchetto Python installato da MacPorts. Queste istruzioni sono testate su una configurazione usando Mac OS 10.6.6. I pacchetti oggetto MacPorts sono "python27" e "opencv".

per garantire che i binding Python sono in realtà sul disco rigido, è necessario per essere sicuri invocato il pacchetto OpenCV con la variante di pitone:

sudo port install opencv +python27 

Il file oggetto "cv.so" condiviso sarà costruito nella seguente directory:

/opt/local/@@[email protected]@ 

sarà necessario creare un link simbolico nella directory di di Python "site-packages". È possibile trovare il percorso di questa directory eseguendo questi comandi nel vostro interprete Python:

from distutils.sysconfig import get_python_lib 
print get_python_lib() 

Il percorso restituito dovrebbe essere simile al seguente:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 

Creare un collegamento simbolico per l'oggetto condiviso ("CV.così ") all'interno di questa directory:

ln -s /opt/local/@@[email protected]@/cv.so /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cv.so 

Ora si dovrebbe essere in grado di importare il modulo cv all'interno del vostro interprete:

import cv 

La configurazione potrebbe essere leggermente diverso se si utilizza una versione diversa di Python o OpenCV, tuttavia, la metodologia generale dovrebbe essere la stessa con l'eccezione dei nomi dei percorsi.Potrebbe esserci un modo migliore per farlo, ma questa metodologia sembra funzionare bene

+0

Ho dovuto fare la stessa cosa. – AlcubierreDrive

-1

Ecco cosa dovevo fare:

FASE UNO

Utilizzare MacPorts per installare OpenCV.

FASE DUE

Mettere questi due file da qualche parte sul tuo PYTHONPATH (ad esempio nel vostro site-packages):

PUNTO TRE

Crea i link qui sotto morbide (perché cv2.so aspetta i dylibs di essere in /usr/local ma MacPorts installa a /opt/local):

cd /usr/local/lib/ 
ln -s /opt/local/lib/libopencv_core.2.3.dylib libopencv_core.2.3.dylib 
ln -s /opt/local/lib/libopencv_flann.2.3.dylib libopencv_flann.2.3.dylib 
ln -s /opt/local/lib/libopencv_imgproc.2.3.dylib libopencv_imgproc.2.3.dylib 
ln -s /opt/local/lib/libopencv_video.2.3.dylib libopencv_video.2.3.dylib 
ln -s /opt/local/lib/libopencv_ml.2.3.dylib libopencv_ml.2.3.dylib 
ln -s /opt/local/lib/libopencv_features2d.2.3.dylib libopencv_features2d.2.3.dylib 
ln -s /opt/local/lib/libopencv_highgui.2.3.dylib libopencv_highgui.2.3.dylib 
ln -s /opt/local/lib/libopencv_calib3d.2.3.dylib libopencv_calib3d.2.3.dylib 
ln -s /opt/local/lib/libopencv_objdetect.2.3.dylib libopencv_objdetect.2.3.dylib 
ln -s /opt/local/lib/libopencv_legacy.2.3.dylib libopencv_legacy.2.3.dylib 
ln -s /opt/local/lib/libopencv_contrib.2.3.dylib libopencv_contrib.2.3.dylib