Je viens d'installer OpenCV sur ma machine Windows 7. En conséquence, j'obtiens un nouveau répertoire:
C:\OpenCV2.2\Python2.7\Lib\site-packages
Dans ce répertoire, j'ai deux fichiers: cv.lib
et cv.pyd
.
Ensuite, j'essaie d'utiliser le opencv
de Python. Je fais ce qui suit:
import sys
sys.path.append('C:\OpenCV2.2\Python2.7\Lib\site-packages')
import cv
Par conséquent, j'obtiens le message d'erreur suivant:
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
Qu'est-ce que je fais mal?
[~ # ~] ajouté [~ # ~]
Comme il était recommandé ici , j'ai copié le contenu de C:\OpenCV2.0\Python2.6\Lib\site-packages
à la C:\Python26\Lib\site-packages
. Cela n'a pas aidé.
AJOUTÉ 2
Mes variables d'environnement ont les valeurs suivantes:
Path=C:\Program Files\MiKTex\miktex\bin;C:\OpenCV2.2\bin;C:\Python26;
PYTHONPATH=C:\OpenCV2.2\Python2.7\Lib\site-packages
Dois-je changer quelque chose? Dois-je ajouter quelque chose?
AJOUTÉ 3
Je pense que ma question est générale: comment utiliser une bibliothèque? J'ai probablement besoin de trouver un fichier * .ddl quelque part? Ensuite, je dois utiliser le nom du répertoire contenant ce fichier comme valeur pour certaines variables d'environnement? Ou peut-être que je dois utiliser sys.addpath
? J'ai également besoin de savoir comment la façon d'appeler la bibliothèque est liée au nom du fichier qui contient la bibliothèque.
AJOUTÉ 4
Il est intéressant de noter que lorsque je tape import cv
, Je reçois:
ImportError: DLL load failed: The specified module could not be found.
Mais quand je tape import opencv
Je reçois:
ImportError: No module named opencv
AJOUTÉ 5
Il a été suggéré d'utiliser la version incohérente de python. Plus en détail, OpenCV essaie d'utiliser Python2.7 et j'avais Python2.6. J'ai donc installé Python 2.7. Cela fait la différence. Maintenant, je n'ai plus l'ancien message d'erreur, mais j'en ai un nouveau:
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
AJOUTÉ 6
J'ai réussi à résoudre le problème en installant numpy. Cela a pris un certain temps car je n'avais pas réalisé qu'il existe différents installateurs numpy correspondant aux différentes versions de Python. Certains détails peuvent être trouvés dans ma réponse à ma propre question (voir ci-dessous).
Le problème a été résolu. Les étapes suivantes ont été effectuées:
Je soupçonne que vous avez le même problème que j'ai rencontré. Si vous disposez d'une version 64 bits de Python, il ne peut pas charger de DLL 32 bits. OpenCV ne livre actuellement que des binaires 32 bits. Si vous voulez des fichiers .pyd et .dll 64 bits, vous devez les compiler vous-même. Il y a quelques instructions sur le Wiki OpenCV, mais ce n'est pas pour les faibles de cœur. Attendez-vous à avoir un investissement en temps substantiel.
La solution la plus simple consiste à:
La distribution PythonXY inclut pyopencv - un bon ensemble de hooks OpenCV. La seule limitation est qu'il s'agit de 32 bits, alors ne prévoyez pas de traiter des données astronomiques en gigapixels avec! ;)
Si vous devez avoir la version 64 bits, suivez ces instructions pour que OpenCV se compile avec Visual Studio 2010. Il y a une discussion sur stackoverflow qui décrit la construction 64- applications bit avec VC Express.
EDIT: OpenCV est maintenant livré avec des binaires 64 bits Python. Les fichiers .dll doivent aller quelque part sur votre chemin (Je les mets dans le dossier scripts), et les fichiers .pyd vont dans votre répertoire site-packages.
J'ai eu du mal à interfacer OpenCV avec Python, et je cherchais de l'aide partout. Voici ce qui a fonctionné pour moi. J'ai essentiellement suivi ce post: http://opencvpython.blogspot.com/2012/05/install-opencv-in-windows-for-python.html . Après avoir téléchargé et extrait OpenCV 2.4.6, vous obtenez essentiellement un dossier appelé "opencv" avec un tas de trucs dedans. Accédez à build-> python-> 2.7. A l'intérieur, il n'y a qu'un seul fichier appelé "cv2.pyd". J'ai copié ce fichier et l'ai collé dans "python-2.7.5\Lib\site-packages". J'utilise en fait l'IDE Spyder, et cela fonctionne très bien. Dans l'interpréteur python, taper "import cv" a fonctionné pour moi.
Vous devriez peut-être modifier votre variable d'environnement
faites un clic droit sur "Poste de travail" ou quelque chose comme ça, cliquez sur les propriétés.
Dans la fenêtre des propriétés, cliquez sur l'onglet Avancé.
Ensuite, le bouton des variables d'environnement.
Modifiez le chemin.