2010-09-10 23 views
7

utilizando la instalación MacPorts de OpenCV no parece instalar los enlaces de python en cualquier lugar. Están incluidos, ¿a dónde van?opencv macport python bindings

+1

¿Alguna vez esto funcione con cualquiera de las respuestas a continuación? –

Respuesta

10

¿Ha seleccionado el + variante python26 para el MacPorts port?

$ sudo port install opencv +python26 
1

Esto debe tener instalado en

/Library/Python/2.6/site-packages 

si utiliza sudo port install ..

Los directorios 2.6, 2.5 .. dependerá de la versión de Python en el camino.

Gracias Ned, corrigiendo lo anterior - Estas son las distribuciones de mac os x.

MacPorts no poner cada cosa bajo:

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

+0

No es probable. Con un par de excepciones, MacPorts hace todo lo posible * no * para instalar nada en cualquier lugar que no sea en su propia raíz, '/ opt/local /' de forma predeterminada. MacPorts python2.6 instala site-packages en su árbol de directorios '/ opt/local/Library/Frameworks/Python.framework'. –

1

asegúrese de tener instalado py26-numpy tener soporte para funciones básicas como cv.fromarray:

sudo port install py26-numpy 

opencv compilará en silencio y sin numpy (no es estrictamente una dependencia).

sudo port install -v opencv +python26 

Allí puede comprobar que la unión a numpy es efectiva.

7

Tuve el mismo problema. Parece que los enlaces de OpenCV Python están construidos e instalados, pero no están referenciados en el directorio "site-packages". Encontré una solución al agregar un enlace simbólico al archivo "cv.so" incorporado en el directorio "paquetes de sitio" del paquete de Python instalado por MacPorts. Estas instrucciones se prueban en una configuración usando Mac OS 10.6.6. Los paquetes MacPorts sujetos son "python27" y "opencv".

Para asegurarse de que los enlaces de Python son en realidad en su unidad, tendrá que asegurarse de que ha invocado el paquete OpenCV con la variante de pitón:

sudo port install opencv +python27 

El archivo "cv.so" objeto compartido se construirá en el siguiente directorio:

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

será necesario crear un enlace simbólico en su pitón de "site-packages" directorio. Usted puede encontrar la ruta a este directorio mediante la ejecución de estos comandos en el intérprete de Python:

from distutils.sysconfig import get_python_lib 
print get_python_lib() 

La ruta devuelta debería ser similar al siguiente:

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

crear un enlace simbólico con el objeto compartido ("CV.por lo que ") dentro de este directorio:

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

Ahora usted debería ser capaz de importar el módulo de CV dentro de su intérprete:

import cv 

Su configuración puede ser ligeramente diferente si está utilizando una versión diferente de Python o OpenCV; sin embargo, la metodología general debería ser la misma con la excepción de los nombres de las rutas. Puede haber una forma mejor de hacerlo, pero esta metodología parece funcionar bien.

+0

Tenía que hacer lo mismo. – AlcubierreDrive

-1

Esto es lo que tenía que hacer:

PRIMER PASO

Use MacPorts para instalar OpenCV.

PASO DOS

poner estos dos archivos en algún lugar de su PYTHONPATH (por ejemplo, en su site-packages):

PASO TRES

Crear los enlaces inferiores suaves (porque cv2.so espera que los dylibs para estar en /usr/local pero DarwinPorts instala 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