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).

30
demandé sur Community 2011-02-17 17:40:21

4 réponses

le problème est résolu. Les mesures suivantes ont été prises:

  1. une nouvelle version de python (version 2.7) a été installée.
  2. 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.
  3. j'étais fatigué d'installer numpy mais l'installateur n'a pas vu ma nouvelle version du Python.
  4. j'ai supprimé l'ancienne version de Python ainsi que des liens vers l'ancien version dans le système Path vatriable.
  5. après que numpy installer n'a pas été en mesure de terminer l'installation.
  6. 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 .
  7. finalement tout a fonctionné. J'ai pu "importer cv".
15
répondu Roman 2011-02-23 14:37:38

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:

  1. désinstaller Python 64 bits
  2. 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.

4
répondu Carl F. 2014-01-27 13:10:03

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.

2
répondu Kaccie Li 2013-07-26 00:25:21

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.

0
répondu Pierre Guilbert 2011-02-17 15:21:26