web-dev-qa-db-fra.com

DLL Erreur de chargement lors de l'importation de cv2

J'ai installé opencv sur ma machine Windows en utilisant python 3.6 sans aucun problème, en utilisant:

pip install opencv-python

mais quand j'essaye d'importer cv2 j'obtiens l'erreur suivante

ImportError: DLL load failed: The specified module could not be found.

J'ai vu ce post

Il dit que cv2 ne fonctionne pas avec python 3 Je me demandais si cela avait été corrigé ou s'il y avait un moyen de le contourner

33

Vous pouvez télécharger la dernière version d'OpenCV 3.2.0 pour Python 3.6 sur un ordinateur Windows 32 bits ou 64 bits. Recherchez le fichier commençant par opencv_python‑3.2.0‑cp36‑cp36m à partir de ce site non officiel . Puis tapez la commande ci-dessous pour l'installer:

  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win32.whl (version 32 bits)
  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win_AMD64.whl (version 64 bits)

Je pense que ce serait plus facile.

Mise à jour le 15/09/2017:

Les fichiers de roue OpenCV 3.3.0 sont maintenant disponibles dans le site non officiel et remplacés par OpenCV 3.2.0.

Mise à jour le 2018-02-15:

Les fichiers de roue OpenCV 3.4.0 sont maintenant disponibles dans le site non officiel et remplacés par OpenCV 3.3.0.

Mise à jour le 2018-06-19:

Les fichiers de roue OpenCV 3.4.1 sont maintenant disponibles dans le site non officiel avec le support de CPython 3.5/3.6/3.7 et ont été remplacés par OpenCV 3.4.0.

Mise à jour le 2018-10-03:

Les fichiers de roue OpenCV 3.4.3 sont maintenant disponibles dans le site non officiel avec le support de CPython 3.5/3.6/3.7 et ont été remplacés par OpenCV 3.4.1.

Mise à jour le 2019-01-30:

Les fichiers de roue OpenCV 4.0.1 sont maintenant disponibles dans le site non officiel avec le support de CPython 3.5/3.6/3.7.

34
thewaywewere

Si vous utilisez Anaconda avec python 3.5, il s'agit d'un problème dans la version d'Anaconda. (Reportez-vous à issue )

Vous pouvez résoudre ce problème en copiant le fichier python3.dll dans le dossier Anaconda3 (où se trouve python.exe).

Comment obtenir "python3.dll" 

  • Dans cmd, tapez python --version pour déterminer si votre installation est en 64 bits ou en 32 bits.
  • téléchargez le fichier zip intégrable python 3.x depuis ici
  • Extraire le fichier Zip et copier le fichier python3.dll dans le dossier Anaconda3

Mais si vous pouvez passer à Anaconda avec python 3.6, vous ne serez pas confronté à ce problème. Si c'est possible pour vous, alors c'est la méthode recommandée.

33
Ramesh-X

J'ai pris beaucoup de temps pour résoudre cette erreur! Exécuter la commande

pip install opencv-contrib-python
17
tientuyen07

Après avoir passé trop de temps sur cette question et essayé différentes réponses, voici ce qui a été trouvé:

  • La réponse acceptée par @thewaywwere n'est plus applicable. Je pense que cela était applicable lorsque le module opencv-python n’était toujours pas disponible. 

  • Ceci est en effet un bogue dans Anaconda 4.2 car ils ont oublié d’expédier python3.dll. Ils ont corrigé cela dans les prochaines versions mais malheureusement 4.2 est la dernière version avec Python 3.5 par défaut. Si vous êtes coincé avec Python 3.5 (par exemple, VS2015 connaît uniquement les versions jusqu'à la version 3.5), vous devez télécharger manuellement python3.dll comme décrit dans la réponse de @ Ramesh-X.

  • Si vous pouvez passer à Python 3.6 (ce qui est actuellement un peu difficile si vous utilisez OpenCV et VS2015), installez simplement la dernière version d'Anaconda et vous n'aurez rien à faire à cela.

7
Shital Shah

Il y a beaucoup de questions à ce sujet et beaucoup de suggestions. Aucun d'entre eux ne m'a aidé pour la récente Opencv 3.4.16 et Python 3.6/3.7. Enfin, je suis passé à Pyhon 2.7.15 et ai installé Open Source 3.1.0. Le problème de DLL a été résolu.

Quand je regarde dans cv2.pyd avec le walker de dépendance, le 3.1 n'a aucune dépendance à un dll manquant. Opencv 3.4 a cette dépendance manquante à cette dll:

API-MS-WIN-DOWNLEVEL-SHLWAPI-L1-1-0.DLL

peut-être que c'est le problème.

P.S .: J'ai Win7 pofessional 64Bit, 32Bit Python 2.7.15

5
Valentin Heinitz

Récemment, j'ai rencontré le même problème dans Azure Windows Server 2012 R2 . J'ai essayé toutes les options avec et sans Anaconda mais aucun d'entre eux n'a aidé. Après de nombreuses découvertes, j’ai trouvé que mfplat.dll était manquant et qu’il était lié à Window Media Service.

Par conséquent, vous devez installer manuellement les fonctionnalités afin que vous puissiez obtenir une DLL liée au service Windows Media.

1. Activer ou désactiver les fonctionnalités de Windows

2.Skip l'écran des rôles et aller directement à l'écran de fonctionnalité

3.Sélectionnez "Expérience utilisateur" sous "Interfaces utilisateur et infrastructure".

Après cela, toutes les dll requises des services de média pour opencv seraient disponibles. 

Donc, si vous envisagez d’exécuter votre code dans le cloud (Windows Server), n’oubliez pas de sélectionner la fonctionnalité Expérience utilisateur.

3
Biks

J'ai eu le même problème avec Python 3.6 (Anaconda3) et OpenCV 3.4.1 pour que spyder fonctionne. Même après la copie de cv2.pyd dans Anaconda3 Users/home/Anaconda3/Lib/site-packages, cela ne fonctionnait pas. 

Mais trouvé une solution

Plus tard, j'ai installé OpenCV et Dlib sur Anaconda et copié les fichiers cv2.cp36-win_AMD64.pyd et dlib.cp36-win_AMD64.pyd générés dans Anaconda3 Users/home/Anaconda3/Lib/site-packages. Ceux-ci peuvent être copiés à partir du dossier d'environnement C:\Utilisateurs\home\Anaconda3\envs\opencv\Lib\site-packages. 

Enfin, Spyder a commencé à travailler 

1
Kiran Kumar

cela se produit parce que le compilateur ou l'interpréteur trouve plusieurs packages dans le fichier, supprime tous les numéros du même package que vous avez, n'en conservez qu'un, puis essayez de l'installer. Ça sert 

1
user9567614

J'ai eu le même problème lors de l'installation d'opencv 2.4.13 sur Anaconda3 (Python 3.6) ... J'ai réussi à résoudre ce problème en revenant à Anaconda2 (Python 2.7)

1
Venu

(base) C:\WINDOWS\system32> conda installer C:\Utilisateurs\Todd\Téléchargements\opencv3-3.1.0-py35_0.tar.bz2

J'ai exécuté cette commande à partir du terminal anaconda après avoir téléchargé la version depuis https://anaconda.org/menpo/opencv3/files

C’est le seul moyen de faire fonctionner cv2 et j’ai tout essayé pendant deux jours.

0
todd2323

Sous Winpython: le répertoire Winpython-64bit-.../python_.../DLLs, le fichier cv2.pyd doit être renommé en _cv2.pyd

0
Alexandre

Le problème est dû au fichier python3.dll manquant dans Anaconda3. 

Pour résoudre le problème, vous devez simplement copier le python3.dll dans C:\Program Files\Anaconda3 (ou à l’endroit où votre Anaconda3 est installé).

Vous pouvez obtenir le python3.dll en téléchargeant les fichiers binaires fournis au bas de la page Version de Python et en extrayant le python3.dll à partir du fichier Zip.

0
mhaghighat

J'ai le même problème. Lorsque j'installe la programmation WinPython et que je lance opencv après avoir copié le fichier cv2.pyd à partir de mon répertoire opencv, ce sera comme suit: C:\Utilisateurs .....\Téléchargements\opencv\build\python\2.7\x64, x64 ou x86 dépend de vos périphériques 32 ou 64 bits. coller et coller dans C:\Utilisateurs .....\Téléchargements\WinPython-64bit-3.5.4.1Qt5\python-3.5.4.AMD64\Lib\site-packages, je préfère le précédent python 3.5 au 3.6. Parce que, lorsque j'ai "importé cv2" installé (python 3.6), il affiche directement: "ImportError: DLL le chargement a échoué: le module spécifié est introuvable." .__ "pip install opencv-python".

La commande Prompt download opencv automatiquement, elle affiche le processus de la manière suivante: "Opencv-python-3.3.0.10 installé avec succès"

Enfin, j'essaye de lancer un cv ouvert en tapant "import cv2", cela fonctionne J'essaie de taper "cv2. version ", et affiche: "3.3.0" 

0
Irwan

Si cela aide quelqu'un, sur l'image officielle du docker Windows python 3.6, à faire en sorte que cela fonctionne, je devais copier les bibliothèques suivantes à partir de mon bureau:

C:\windows\system32

aepic.dll
avicap32.dll
avifil32.dll
avrt.dll
Chakra.dll
CompPkgSup.dll
CoreUIComponents.dll
cryptngc.dll
dcomp.dll
devmgr.dll
dmenterprisediagnostics.dll
dsreg.dll
edgeIso.dll
edpauditapi.dll
edputil.dll
efsadu.dll
efswrt.dll
ELSCore.dll
evr.dll
ieframe.dll
ksuser.dll
mf.dll
mfasfsrcsnk.dll
mfcore.dll
mfnetcore.dll
mfnetsrc.dll
mfplat.dll
mfreadwrite.dll
mftranscode.dll
msacm32.dll
msacm32.drv
msvfw32.dll
ngcrecovery.dll
oledlg.dll
policymanager.dll
RTWorkQ.dll
shdocvw.dll
webauthn.dll
WpAXHolder.dll
wuceffects.dll

C:\windows\syswow64

aepic.dll
avicap32.dll
avifil32.dll
avrt.dll
Chakra.dll
CompPkgSup.dll
CoreUIComponents.dll
cryptngc.dll
dcomp.dll
devmgr.dll
dsreg.dll
edgeIso.dll
edpauditapi.dll
edputil.dll
efsadu.dll
efswrt.dll
ELSCore.dll
evr.dll
ieframe.dll
ksuser.dll
mfasfsrcsnk.dll
mfcore.dll
mfnetcore.dll
mfnetsrc.dll
mfplat.dll
mfreadwrite.dll
mftranscode.dll
msacm32.dll
msvfw32.dll
oledlg.dll
policymanager.dll
RTWorkQ.dll
shdocvw.dll
webauthn.dll
wuceffects.dll`
0
user999723