utilizzando l'installazione MacPorts di OpenCV non sembra installare i binding Python da nessuna parte. Sono inclusi, dove vanno?opencv macport python binding
risposta
'stato selezionato il + variante python26 per lo MacPorts port?
$ sudo port install opencv +python26
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
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'. –
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.
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
Ho dovuto fare la stessa cosa. – AlcubierreDrive
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
):
- https://github.com/jonmrodriguez/opencv-2.3-new-python-bindings/blob/master/cv.py
- https://github.com/jonmrodriguez/opencv-2.3-new-python-bindings/blob/master/cv2.so
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
Hai mai arrivare a questo lavoro con una qualsiasi delle risposte qui sotto? –