imcrop - recortar imagen opencv python
¿Cómo usar OpenCV en Python? (4)
Acabo de instalar OpenCV en mi máquina con Windows 7. Como resultado, recibo un nuevo directorio:
C:/OpenCV2.2/Python2.7/Lib/site-packages
En este directorio tengo dos archivos: cv.lib
y cv.pyd
.
Luego trato de usar el opencv de Python. Yo hago lo siguiente:
import sys
sys.path.append(''C:/OpenCV2.2/Python2.7/Lib/site-packages'')
import cv
Como resultado, aparece el siguiente mensaje de error:
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
¿Qué estoy haciendo mal?
ADICIONAL
Como se recomienda here , he copiado el contenido de C:/OpenCV2.0/Python2.6/Lib/site-packages
en C:/Python26/Lib/site-packages
. No ayudó.
AGREGADO 2
Mis variables de entorno tienen los siguientes valores:
Path=C:/Program Files/MiKTex/miktex/bin;C:/OpenCV2.2/bin;C:/Python26;
PYTHONPATH=C:/OpenCV2.2/Python2.7/Lib/site-packages
¿Necesito cambiar algo? ¿Debo agregar algo?
AGREGADO 3
Creo que mi pregunta es general: ¿cómo usar una biblioteca? ¿Probablemente necesito encontrar un archivo * .ddl en alguna parte? Entonces, ¿necesito usar el nombre del directorio que contiene este archivo como valor para algunas variables de entorno? O tal vez necesito usar sys.addpath
? También necesito saber cómo la forma de llamar a la biblioteca está relacionada con el nombre del archivo que contiene la biblioteca.
AGREGADO 4
Es interesante que cuando import cv
, obtengo:
ImportError: DLL load failed: The specified module could not be found.
Pero cuando import opencv
obtengo:
ImportError: No module named opencv
AGREGADO 5
Se ha sugerido que use una versión incoherente de Python. En más detalles, OpenCV intenta usar Python2.7 y tuve Python2.6. Entonces, he instalado Python 2.7. Hace la diferencia. Ahora no tengo el mensaje de error anterior, pero tengo uno nuevo:
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import
AGREGADO 6
He logrado resolver el problema instalando numpy. Me tomó un tiempo porque no me di cuenta de que hay diferentes instaladores numpy correspondientes a las diferentes versiones de Python. Se pueden encontrar algunos detalles en mi respuesta a mi propia pregunta (ver abajo).
El problema fue resuelto Se han realizado los siguientes pasos:
- Se ha instalado una nueva versión de python (versión 2.7).
- Después de eso, todavía no pude ejecutar OpenCV porque tuve algunos problemas con la biblioteca numpy.
- Me cansé de instalar numpy pero el instalador no vio mi nueva versión de Python.
- Eliminé la versión anterior de Python y los enlaces a la versión anterior en el sistema de ruta vatriable.
- Después de ese numpy instalador no fue capaz de terminar la instalación.
- Me he dado cuenta de que necesito ejecutar otro instalador numpy que está asociado con el Python 2.7. Se puede encontrar here .
- Finalmente todo funcionó. Pude "importar cv".
Sospecho que tienes el mismo problema que me he encontrado. Si tiene una versión de 64 bits de Python, no puede cargar archivos DLL de 32 bits. OpenCV actualmente solo envía binarios de 32 bits. Si desea archivos .pyd y .dll de 64 bits, debe compilarlos usted mismo. Hay algunas instructions en la Wiki de OpenCV, pero no es para corazones débiles. Espere tener una inversión de tiempo sustancial.
La solución más fácil es:
- Desinstalar Python de 64 bits
- Instale una distribución de 32 bits.
La distribución de PythonXY incluye pyopencv, un buen conjunto de enlaces de OpenCV. La única limitación es que es de 32 bits, ¡así que no hagas planes para procesar datos astronómicos de gigapixel con él! ;)
Si debe tener la versión de 64 bits, siga estas instrucciones para que OpenCV la compile con Visual Studio 2010. Hay una discusión sobre que describe la creación de aplicaciones de 64 bits con VC Express.
EDITAR: OpenCV ahora se envía con binarios de Python de 64 bits. Los archivos .dll deben ir a algún lugar en su camino (los coloco en la carpeta de scripts), y los archivos .pyd van en su directorio de paquetes de sitio.
Tal vez deberías editar tu variable de entorno
Haga clic derecho en "Mi PC" o algo como esto, haga clic en Propiedades.
En la ventana de propiedades, haga clic en la pestaña Avanzado.
Luego, el botón de variables de entorno.
Cambia la ruta
Tuve problemas para conectar OpenCV con Python, y buscaba ayuda en todo el lugar. Esto es lo que funcionó para mí. Básicamente, seguí esta publicación: http://opencvpython.blogspot.com/2012/05/install-opencv-in-windows-for-python.html . Después de descargar y extraer OpenCV 2.4.6, básicamente obtienes una carpeta llamada "opencv" con un montón de cosas en ella. Navega hasta build-> python-> 2.7. En el interior, solo hay un archivo llamado "cv2.pyd". Copié este archivo y lo pegué en "python-2.7.5 / Lib / site-packages". En realidad estoy usando el Spyder IDE, y funciona bien. En el intérprete de Python, escribir en "importar cv" funcionó para mí.