Comment utiliser OpenCV en Python?
je viens d'installer OpenCV sur ma machine Windows 7. En conséquence, j'obtiens un nouveau répertoire:
C:OpenCV2.2Python2.7Libsite-packages
Dans ce répertoire, j'ai deux fichiers: cv.lib
et cv.pyd
.
puis j'essaie d'utiliser l'opencv de Python. Je fais ce qui suit:
import sys
sys.path.append('C:OpenCV2.2Python2.7Libsite-packages')
import cv
par conséquent, je reçois 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 de mal?
ajouté
comme il a été recommandé ici , j'ai copié le contenu de C:OpenCV2.0Python2.6Libsite-packages
au C:Python26Libsite-packages
. Il n'a pas aidé.
ajouté 2
mes variables d'environnement ont les valeurs suivantes:
Path=C:Program FilesMiKTexmiktexbin;C:OpenCV2.2bin;C:Python26;
PYTHONPATH=C:OpenCV2.2Python2.7Libsite-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? Probablement j'ai besoin de trouver un *.un fichier ddl quelque part? Puis 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 aussi besoin de savoir comment le moyen d'appeler la bibliothèque est lié au nom du fichier qui contient la bibliothèque.
ajouté 4
il est intéressant 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é que j'utilise une version incohérente de python. Pour plus de détails, OpenCV essaie D'utiliser Python2.7 et J'ai eu Python2.6. Donc, J'ai installé Python 2.7. Il fait la différence. Maintenant je n'ai pas l'ancien message d'erreur, mais j'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 parce que je ne me suis pas rendu compte qu'il y avait différents installateurs numpy correspondant à différentes versions de Python. Certains détails peuvent être trouvés dans ma réponse à ma propre question (voir ci-dessous).
4 réponses
le problème est résolu. Les mesures suivantes ont été prises:
- une nouvelle version de python (version 2.7) a été installée.
- après cela, je n'ai toujours pas été capable de lancer OpenCV parce que j'ai eu quelques problèmes avec la bibliothèque de numpy.
- j'étais fatigué d'installer numpy mais l'installateur n'a pas vu ma nouvelle version du Python.
- j'ai supprimé l'ancienne version de Python ainsi que des liens vers l'ancien version dans le système Path vatriable.
- après que numpy installer n'a pas été en mesure de terminer l'installation.
- j'ai réalisé que j'avais besoin d'exécuter un autre installateur numpy qui est associé au Python 2.7. Il peut être trouvé ici .
- finalement tout a fonctionné. J'ai pu "importer cv".
je pense que vous avez le même problème que j'ai rencontré. Si vous avez une version 64 bits de Python, il ne peut pas charger des DLLs 32 bits. OpenCV ne fournit actuellement que des binaires 32 bits. Si tu veux du 64-bit .pyd et .les fichiers dll, 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 à un investissement de temps considérable.
la solution la plus facile est de:
- désinstaller Python 64 bits
- installer une distribution 32 bits.
la distribution PythonXY inclut pyopencv -- un bon ensemble de crochets OpenCV. La seule limitation est qu'il est de 32 bits, donc ne faites pas de plans pour traiter les données d'astronomie gigapixel avec elle! ;)
Si vous doit avoir la version 64 bits, suivre ces instructions pour compiler OpenCV avec Visual Studio 2010. Il y a une discussion sur stackoverflow qui décrit la création d'applications 64 bits avec VC Express.
EDIT: OpenCV ships now with 64-bit Python binaires. Le. les fichiers dll doivent aller quelque part dans votre chemin (je les ai mis dans le dossier scripts), et le .les fichiers pyd vont dans votre répertoire site-packages.
J'ai eu du mal à interfacer OpenCV avec Python, et j'ai cherché partout de l'aide. 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 choses à l'intérieur. Accédez à construire->python->2.7. À l'intérieur, il n'y a qu'un seul fichier appelé "cv2.pyd". J'ai copié ce fichier et collé dans "python 2.7.5\Lib\site-packages". En fait, j'utilise le Spyder IDE, et ça marche très bien. Dans l'interpréteur python, taper "importer cv" a fonctionné pour moi.
peut-être que vous devriez modifier votre variable d'environnement
cliquez avec le bouton droit de la souris sur "mon ordinateur" ou quelque chose du genre, cliquez sur Propriétés.
Dans la fenêtre propriétés, cliquez sur l'onglet Avancé.
Ensuite, le bouton variables d'environnement.
Modifier le chemin d'accès.