wake-up-neo.net

DLL Fehler beim Laden beim Importieren von cv2

Ich habe opencv auf meinem Windows-Rechner mit Python 3.6 ohne Probleme installiert.

pip install opencv-python

wenn ich jedoch versuche, cv2 zu importieren, erhalte ich die folgende Fehlermeldung

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

Ich habe gesehen diesen Beitrag

Es heißt, cv2 funktioniert nicht mit Python 3. Ich habe mich gefragt, ob dies behoben wurde oder ob es einen Weg gibt

33

Sie können die neueste Version von OpenCV 3.2.0 für Python 3.6 auf einem 32-Bit- oder 64-Bit-Computer von Windows herunterladen. Suchen Sie nach Dateibeginn mitopencv_python‑3.2.0‑cp36‑cp36m von dieser inoffiziellen Site . Geben Sie dann den folgenden Befehl ein, um ihn zu installieren:

  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win32.whl (32-Bit-Version)
  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win_AMD64.whl (64-Bit-Version)

Ich denke es wäre einfacher.

Update am 2017-09-15:

OpenCV 3.3.0 wheel-Dateien sind jetzt auf der inoffiziellen Site verfügbar und OpenCV 3.2.0 ersetzt.

Update am 15.08.2014:

OpenCV 3.4.0 wheel-Dateien sind jetzt auf der inoffiziellen Site verfügbar und OpenCV 3.3.0 ersetzt.

Update am 19.08.1988:

OpenCV 3.4.1-Raddateien sind jetzt auf der inoffiziellen Site mit CPython 3.5/3.6/3.7-Unterstützung verfügbar und werden durch OpenCV 3.4.0 ersetzt.

Update am 2018-10-03:

OpenCV 3.4.3-Raddateien sind jetzt auf der inoffiziellen Site mit CPython 3.5/3.6/3.7-Unterstützung verfügbar und werden durch OpenCV 3.4.1 ersetzt.

Update am 30.01.2019:

OpenCV 4.0.1 wheel-Dateien sind jetzt auf der inoffiziellen Site mit CPython 3.5/3.6/3.7-Unterstützung verfügbar.

34
thewaywewere

Wenn Sie Anaconda mit python 3.5 verwenden, ist dies ein Problem in der Anaconda-Version. (Siehe diese Ausgabe )

Sie können dieses Problem beheben, indem Sie die python3.dll-Datei in den Anaconda3-Ordner kopieren (wo sich python.exe befindet).

Wie bekomme ich "python3.dll" 

  • Geben Sie in cmdpython --version ein, um festzustellen, ob Ihre Installation 64-Bit oder 32-Bit ist
  • laden Sie python 3.x einbettbare Zip-Datei von hier
  • Extrahieren Sie die Zip-Datei und kopieren Sie die python3.dll-Datei in den Anaconda3-Ordner

Wenn Sie mit python 3.6 zu Anaconda wechseln können, werden Sie mit diesem Problem nicht konfrontiert. Wenn es für Sie möglich ist, ist dies der empfohlene Weg.

33
Ramesh-X

Ich habe mir viel Zeit genommen, um diesen Fehler zu beheben! Führen Sie den Befehl aus

pip install opencv-contrib-python
17
tientuyen07

Nachdem Sie zu viel Zeit mit diesem Thema verbracht und alle verschiedenen Antworten ausprobiert haben, finden Sie Folgendes:

  • Die akzeptierte Antwort von @thewaywewere gilt nicht mehr. Ich denke, das war zutreffend, wenn das opencv-python-Modul noch nicht verfügbar war. 

  • Dies ist in der Tat ein Fehler in Anaconda 4.2, weil sie vergessen haben, python3.dll zu versenden. Sie haben dies in den nächsten Versionen behoben, aber leider ist 4.2 die letzte Version mit Python 3.5 als Standard. Wenn Sie mit Python 3.5 nicht weiterkommen (zum Beispiel kennt VS2015 nur Versionen bis 3.5), müssen Sie die Datei python3.dll manuell herunterladen, wie in der Antwort von @ Ramesh-X beschrieben.

  • Wenn Sie mit Python 3.6 fortfahren können (was derzeit bei Verwendung von OpenCV und VS2015 etwas schwierig ist), installieren Sie einfach die neueste Anaconda-Version, und Sie müssen sich mit keiner dieser Versionen befassen.

7
Shital Shah

Dazu gibt es viele Fragen und viele Vorschläge. Keiner von ihnen hat mir beim letzten Opencv 3.4.16 und Python 3.6/3.7 geholfen. Schließlich wechselte ich zu Pyhon 2.7.15 und installierte opencv 3.1.0. Das DLL-Problem wurde behoben.

Wenn ich in cv2.pyd mit Abhängigkeits-Walker nachschaue, hat das 3.1 keine Abhängigkeit zu einer fehlenden DLL. Opencv 3.4 hat diese fehlende Abhängigkeit von dieser DLL:

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

kann dies das problem sein.

P.S .: Ich habe Win7 Pofessional 64Bit, 32Bit Python 2.7.15

5

Dieses Problem trat unter Windows 10 (N) mit einer neuen Anaconda-Installation auf, die auf Python 3.7 (OpenCV-Version) basiert 4.0). Keiner der oben genannten Ratschläge hat geholfen (z. B. die Installation von OpenCV von der inoffiziellen Site aus oder die Installation von VC Redistributable).

Ich überprüfte DLL Abhängigkeiten von ...\AppData\Local\conda\conda\envs\foo\Lib\site-packages\cv2\cv2.cp37-win_AMD64.pyd Mit dumpbin.exe Gemäß dieses Github-Problem . Ich bemerkte eine Bibliothek MF.dll , das ich herausgefunden habe, gehört zu Windows Media Foundation.

Also habe ich Media Feature Pack für N Versionen von installiert Windows 1 und voilà, das Problem wurde behoben!

3
Premil

Vor kurzem bin ich mit dem ähnlichen Problem in Azure Windows Server 2012 r2 konfrontiert. Ich habe alle Optionen mit und ohne Anaconda ausprobiert, aber keiner von ihnen half. Nach vielen Befunden fand ich, dass mfplat.dll fehlt, was mit Window Media Service zusammenhängt.

Daher müssen Sie die Features manuell installieren, damit Sie eine mit Windows Media-Service verknüpfte DLL erhalten können.

1.Schalten Sie die Windows-Funktionen ein oder aus

2.Überprüfen Sie den Rollenbildschirm und wechseln Sie direkt zum Funktionsbildschirm

3.Wählen Sie "Desktop Experience" unter "Benutzeroberflächen und Infrastruktur".

Danach stehen alle erforderlichen dll Mediendienste für opencv zur Verfügung. 

Wenn Sie also planen, Ihren Code in der Cloud (Windows Server) auszuführen, vergessen Sie nicht, die Desktop Experience-Funktion auszuwählen.

3
Biks

Ich hatte das gleiche Problem mit Python 3.6 (Anaconda3) und OpenCV 3.4.1, damit Spyder funktioniert. Selbst nach dem Kopieren von cv2.pyd in Anaconda3 Users/home/Anaconda3/Lib/site-packages hat es nicht funktioniert. 

Aber eine Lösung gefunden

Später installierte ich OpenCV und Dlib auf Anaconda und kopierte die generierten Pakete cv2.cp36-win_AMD64.pyd und dlib.cp36-win_AMD64.pyd in Anaconda3 Users/home/Anaconda3/Lib/site-packages. Diese können aus dem Umgebungsordner C:\Users\home\Anaconda3\envs\opencv\Lib\site-packages kopiert werden. 

Schließlich begann der Spyder zu arbeiten 

1
Kiran Kumar

dies geschieht, weil der Compiler oder der Interpreter mehr als ein Paket der Datei findet. Löschen Sie alle Nummern desselben Pakets, behalten Sie nur ein Paket und versuchen Sie die Installation. Es dient 

1
user9567614

Ich hatte das gleiche Problem bei der Installation von opencv 2.4.13 auf Anaconda3 (Python 3.6) ... Ich konnte dieses Problem durch Anwenden von Anaconda2 (Python 2.7) beheben

1
Venu

(Basis) C:\WINDOWS\system32> Conda-Installation C:\Benutzer\Todd\Downloads\opencv3-3.1.0-py35_0.tar.bz2

Ich habe diesen Befehl vom anaconda-Terminal ausgeführt, nachdem ich die Version von __. https://anaconda.org/menpo/opencv3/files heruntergeladen habe.

Nur so konnte ich cv2 zum Laufen bringen und ich habe alles zwei Tage lang versucht.

0
todd2323

Ehrlich gesagt gibt es hier viele sehr kluge und komplizierte Antworten. Meins ist dumm und einfach. Ich habe meine Conda-Umgebung gelöscht, von Grund auf neu installiert und mich bemüht, installiere zuerst opencv. Das hat meine Probleme behoben. Umgebungen sollen vorübergehend und durchsichtig sein, also hänge dich nicht zu sehr an sie.

Wenn meine Umgebung also fubar heißt, stellen Sie zunächst sicher, dass alle Instanzen deaktiviert sind (einschließlich der IDEs, die sie verwenden). Dann entfernen Sie es:

conda remove --name fubar --all

Jetzt erstelle ich einfach meine Umgebung neu und füge zuerst opencv hinzu:

conda create --name fubar
conda activate fubar
conda install opencv

Und dann geh von dort. Ich installiere Spyder immer (always) zuletzt, da dies dazu neigt, Dinge zu vermasseln, wenn ich dies nicht tue.

0
neuronet

Ich hatte das gleiche Problem und verbrachte 3 volle Tage damit zu ringen. Ich habe alles Mögliche ausprobiert: Pip aktualisieren, Visual C++ aktualisieren, Anaconda aktualisieren, Dateien manuell herunterladen und im Grunde jede Lösung, die ich im Web finden konnte. Folgendes hat endlich funktioniert, vielleicht hilft es jemand anderem:

1 - Ich habe Python 3 und Anaconda-basierte Downloads eingestellt, da ich festgestellt habe, dass sie mehrere Probleme hatten und Pythonheruntergeladen haben. _ 2.7.16 64-Bit stattdessen.

2 - Navigierte zu der Stelle, an der sich Pip auf meinem Laufwerk befand (für mich ist der Pfad C:\Python27\Scripts), hob den Pfad hervor, indem Sie ihn auswählen, und Geben Sie "cmd" ein, und geben Sie dann Folgendes ein, damit die Eingabeaufforderung auf diesem Pfad geöffnet wird. (Beim Überspringen treten normalerweise einige Fehler auf.)

3 - Pip mit python -m pip install --upgrade pip Auf dem CMD aktualisiert (erneutes Überspringen und Nicht-Aktualisieren ließ diesen Vorgang nicht zu)

4 - Die entsprechende Wheel -Datei wurde von https://www.lfd.uci.edu/~gohlke/ heruntergeladen. pythonlibs/# opencv (nach mehreren Versuchen war opencv_python-2.4.13.7-cp27-cp27m-win_AMD64.whl) Ich habe es in denselben Ordner kopiert, in dem Pip war (C:\Python27\Skripte für mich) und installierte es dann über CMD mit: pip install opencv_python-2.4.13.7-cp27-cp27m-win_AMD64.whl. Immer durch CMD auf diesem Pfad geöffnet, wie in Schritt 2 gezeigt

5 - Nach Schritt 4, als ich OpenCV mit import cv2 Importierte, hatte ich den Fehler DLL nicht mehr, aber ein Fehler im Zusammenhang mit numpy (da ich gerade diese Version von Python installiert hatte und Numpy daher noch nicht installiert war). Ich habe numpy durch Eingabe von pip install numpy Und voilà! Das Problem wurde behoben und OpenCV korrekt importiert.

Hoffe das hilft jemandem.

0
Metrician

Unter Winpython: Im Verzeichnis Winpython-64bit-.../python_.../DLLs sollte die Datei cv2.pyd in _cv2.pyd umbenannt werden.

0
Alexandre

Bitte denken Sie daran, wenn Sie python package/libraries for windows installieren möchten,

sie sollten immer berücksichtigen Python inoffizielle Binaries

Schritt 1:

Suchen Sie nach Ihrem Paket, laden Sie die abhängige Version 2.7 oder 3.6 herunter. Sie finden es unter Downloads/your_package_version.whl its called python wheel

Schritt 2:

Jetzt mit pip installieren,

pip install ~/Downloads/your_packae_ver.whl

dies wird ohne Fehler installiert.

Das Problem ist auf die fehlende python3.dll-Datei in Anaconda3 zurückzuführen. 

Um das Problem zu beheben, kopieren Sie einfach den python3.dll in C:\Program Files\Anaconda3 (oder wo auch immer Ihr Anaconda3 installiert ist).

Sie erhalten den python3.dll, indem Sie die Binaries herunterladen, die sich auf der Release-Seite von Python befinden herunterladen und den python3.dll aus der Zip-Datei extrahieren.

0
mhaghighat

Ich habe das gleiche Problem. Wenn ich die WinPython-Programmierung installiere und opencv nach dem Kopieren der Datei cv2.pyd aus meinem Verzeichnis opencv ausführe, wird Folgendes angezeigt: C:\Benutzer .....\Downloads\opencv\build\python\2.7\x64, x64 oder x86 hängt von Ihren 32- oder 64-Bit-Geräten ab. und in C:\Benutzer .....\Downloads\WinPython-64bit-3.5.4.1Qt5\python-3.5.4.AMD64\Lib\site-packages einfügen, bevorzuge ich den vorherigen Python 3.5 als 3.6. Wenn ich "cv2 importieren" installiert habe (Python 3.6), wird direkt Folgendes angezeigt: "ImportError: DLL load fehlgeschlagen: Das angegebene Modul konnte nicht gefunden werden" Dann installiere ich Python 3.5 und öffne die Eingabeaufforderung von WinPyhton "pip install opencv-python".

Der Befehl Prompt download opencv zeigt automatisch den Vorgang "Opencv-python-3.3.0.10 erfolgreich installiert" an.

Schließlich versuche ich, open cv nach dem Typ "import cv2" auszuführen. Es funktioniert Ich versuche, "cv2. version " einzugeben und zeigt: '3.3.0' 

0
Irwan

Wenn dies jemandem auf offiziellem Python 3.6 Windows Docker-Image hilft, musste ich die folgenden Bibliotheken von meinem Desktop kopieren:

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