2011-05-01 12 views
13

(Paso 1)OpenCV pitón OSX

Estoy intentando conseguir OPENCV a ejecutar desde el pitón en mi mac usando los DarwinPorts instalar http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port, y también tratar de seguir The Petite Geek's guide:

sudo port -v install opencv +python26 

Se ejecuta durante aproximadamente 10 minutos sin errores.

(Paso 2)

descargo ctypes-opencv source and demo files. Navegación hasta el directorio src y corro:

sudo python setup.py install 

veo como 50 líneas casi todos de la forma: copying ... -> ..., que se ve bien para mí. No hay errores aquí.

(Paso 3)

agrego export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib hasta el final de mi ~/.profile.

(Paso 4)

que abrir una nueva terminal para probar mi instalación. Desde mi carpeta de inicio:

$ python 

Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named cv 
>>> 

No funciona.


leí somewhere que OpenCV instala de Python con la versión predeterminada de pitón para OSX, y probablemente estoy ejecutando una versión no por defecto, pero esto no es información útil para mí.

Respuesta

39

Luché por un tiempo con Python en Mac. Así es como finalmente (¡y con facilidad!) Lo instalé. Elimina todas las cosas que Python tienes allí ya. Probablemente estarán ubicados en /Library/Frameworks/Python.Framework y/opt/local/var/macports/software/py26 *

Primero descargue Python con Macports.

sudo port install python27 

A continuación, asegúrese de que su sistema está utilizando esta versión con:

sudo port select --set python python27 

Siguiente instalar numpy con:

sudo port install py27-numpy 

Ahora instalar OpenCV:

sudo port install opencv +python27 

Ahora edite su ~/.bash_profile con:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.bash_profile 

o

open -t ~/.bash_profile 

y añadir la línea:

export PYTHONPATH=/opt/local/var/macports/software/opencv/2.2.0_0+python27/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH 

o donde quiera que su versión del archivo cv.so se oculta ....

Ahora reinicie terminal e intente:

%python 
>>>import cv 

Estoy usando Netbeans para opencv y python y funciona muy bien. Buena suerte.

+0

¡Gracias! Después de seguir varias publicaciones de instalación obsoletas de Internet, ¡esta es la que finalmente funcionó! –

+0

¡Esto realmente funcionó! ¡¡Muchas gracias!! –

+0

La única guía que funcionó para mí fue esta, Tuve que decir gracias también un comentario – maccard

2

Si observa la salida de la primera línea al ejecutar python, verá que todavía está utilizando el intérprete de Python proporcionado por Apple. Intente instalar y usar el paquete python-select en MacPorts y vuelva a intentar las instrucciones comenzando desde el paso 2.

También asegúrese de haber seguido todos los pasos al instalar MacPorts para que/usr/local/bin esté en $ PATH .

0

Otro "truco" que encontré durante mis luchas con CMake (pero quizás el problema es el mismo con los puertos): parece que la ubicación de los módulos Python se ha duplicado en mi Mac OS Lion, por una razón que no puedo explique.

CMake quiere poner el módulo "cv" aquí:

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

mientras que mi intérprete de Python por defecto está buscando aquí (gracias por decirme PyCharm):

/Library/Python/2.7/site-packages 

Moving tanto cv2.so y los archivos cv.py a la segunda ubicación, hicieron el truco para mí. No sé si esta es la manera más limpia.

Espero que pueda ayudar a algunos googlers!

4
$ brew search opencv 
     homebrew/science/opencv 
$ brew install homebrew/science/opencv 

después de instalado, no es Advertencia:

==> Advertencias Si necesita Python para encontrar los site-packages instalados:

mkdir -p ~/Library/Python/2.7/site-packages lib/python/

echo '/usr/local/lib/python2.7/site-packages'> ~/Library/Python/2,7/lib/python/site-packages/homebrew.pth

así que solo do

mkdir -p ~/Library/Python/2.7/lib/python/site-packages 
    echo '/usr/local/lib/python2.7/site-packages' > ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth