DLL laden mislukt fout bij het importeren van cv2

Ik heb zonder problemen opencv op mijn Windows-machine geïnstalleerd met python 3.6, met:

pip install opencv-python

maar als ik cv2 probeer te importeren, krijg ik de volgende foutmelding

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

Ik heb dit bericht

gezien

Er staat dat cv2 niet werkt met python 3 Ik vroeg me af of dit is opgelost of dat er een manier omheen is


Antwoord 1, autoriteit 100%

Ik heb veel tijd genomen om deze fout op te lossen!
Opdracht uitvoeren

pip install opencv-contrib-python

Antwoord 2, autoriteit 83%

Je kunt de nieuwste OpenCV 3.2.0 voor Python 3.6 downloaden op een Windows 32-bit of 64-bit machine, zoek naar het bestand dat begint metopencv_python‑3.2.0‑cp36‑cp36m, hiervandaan niet-officiële site. Typ dan onderstaande opdracht om het te installeren:

  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win32.whl(32-bits versie)
  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win_amd64.whl(64-bits versie)

Ik denk dat het makkelijker zou zijn.

Update op 15-09-2017:

OpenCV 3.3.0wielbestanden zijn nu beschikbaar in de niet-officiële siteen vervangt OpenCV 3.2.0.

Update op 15-02-2018:

OpenCV 3.4.0wielbestanden zijn nu beschikbaar in de niet-officiële siteen vervangt OpenCV 3.3.0.

Update op 19-06-2018:

OpenCV 3.4.1wielbestanden zijn nu beschikbaar in de niet-officiële sitemet ondersteuning voor CPython 3.5/3.6/3.7en vervangt OpenCV 3.4.0.

Update op 03-10-2018:

OpenCV 3.4.3wielbestanden zijn nu beschikbaar in de niet-officiële sitemet ondersteuning voor CPython 3.5/3.6/3.7en vervangt OpenCV 3.4.1.

Update op 30-01-2019:

OpenCV 4.0.1wielbestanden zijn nu beschikbaar in de niet-officiële sitemet ondersteuning voor CPython 3.5/3.6/3.7.

Update op 10-06-2019:

OpenCV 3.4.6en OpenCV 4.1.0wielbestanden zijn nu beschikbaar in de niet-officiële sitemet ondersteuning voor CPython 3.5/3.6/3.7.


Antwoord 3, autoriteit 61%

Als je Anaconda gebruikt met python 3.5, is dit een probleem in de Anaconda-release. (Zie dit probleem)

U kunt dit probleem oplossen door het bestand python3.dllte kopiëren naar de map Anaconda3(waar python.exezich bevindt)

Hoe “python3.dll” te krijgen

  • Typ in cmdpython --versionom te zien of uw installatie 64-bits of 32-bits is
  • download python 3.x insluitbaar zip-bestand van hier
  • Pak het zip-bestand uit en kopieer het bestand python3.dllnaar de map Anaconda3

Maar als je met python 3.6naar python 3.6kunt gaan, zul je dit probleem niet tegenkomen. Als het voor jou mogelijk is, dan is het de aanbevolen manier..


Antwoord 4, autoriteit 36%

Onlangs heb ik met een soortgelijk probleem te maken gehad in Azure Windows Server 2012 r2. Alle opties geprobeerd met en zonder Anaconda, maar geen van hen hielp. Na veel bevindingen ontdekte ik dat mfplat.dllontbrak, wat gerelateerd is aan Window Media Service.

Daarom moet u de functies handmatig installeren, zodat u dll kunt krijgen met betrekking tot de Windows-mediaservice.

1.Windows-functies in- of uitschakelen

2.Sla het rollenscherm over en ga direct naar het functiescherm

3.Selecteer “Desktop Experience” onder “Gebruikersinterfaces en infrastructuur”

Hierna zouden alle vereiste dll’s van mediaservices voor opencv beschikbaar zijn.

Dus als u van plan bent uw code in de cloud (Window Server) uit te voeren, vergeet dan niet de functie Desktop Experience te selecteren.


Antwoord 5, autoriteit 19%

Ik kwam dit probleem tegen op Windows 10 (N)met een nieuwe Anaconda-installatie op basis van Python 3.7 (OpenCV versie 4.0). Geen van de bovenstaande adviezen heeft geholpen (zoals het installeren van OpenCV vanaf de niet-officiële site of het installeren van VC Redistributable).

Ik heb de DLL-afhankelijkheden van ...\AppData\Local\conda\conda\envs\foo\Lib\site-packages\cv2\cv2.cp37-win_amd64.pydgecontroleerd met behulp van dumpbin.exevolgens dit github-probleem. Ik zag een bibliotheek MF.dll, waarvan ik ontdekte dat deze toebehoort aan Windows Media Foundation.

Dus ik geïnstalleerdMedia Feature Pack voor N-versies van Windows 10en voilà, het probleem is opgelost!


Antwoord 6, autoriteit 14%

Na te veel tijd aan dit probleem te hebben besteed en alle verschillende antwoorden uitgeprobeerd te hebben, is hier het volgende gevonden:

  • Het geaccepteerde antwoord van @thewaywewere is niet langer van toepassing. Ik denk dat dit van toepassing was toen de opencv-python-module nog niet beschikbaar was.

  • Dit is inderdaad een bug in Anaconda 4.2 omdat ze vergeten zijn python3.dll te verzenden. Ze hebben dit in de volgende releases opgelost, maar helaas is 4.2 de laatste release met Python 3.5 als standaard. Als je vastzit aan Python 3.5 (VS2015 kent bijvoorbeeld alleen versies tot 3.5), dan moet je python3.dll handmatig downloaden zoals beschreven in antwoord door @Ramesh-X.

  • Als je verder kunt gaan met Python 3.6 (wat momenteel een beetje moeilijk is als je OpenCV en VS2015 gebruikt), installeer dan gewoon de nieuwste Anaconda-versie en je hebt er geen last van.


Antwoord 7, autoriteit 9%

Daar zijn veel vragen over en veel suggesties. Geen van hen heeft me geholpen voor de recente Opencv 3.4.16 en Python 3.6/3.7.
Uiteindelijk schakelde ik over naar Pyhon 2.7.15 en installeerde ik opencv 3.1.0. Het DLL-probleem is opgelost.

Als ik in cv2.pyd kijk met dependency walker, dan is de 3.1 niet afhankelijk van één ontbrekende dll. Opencv 3.4 heeftdeze ontbrekende afhankelijkheid van deze dll:

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

misschien is dit het probleem.

P.S.: ik heb Win7 pofessional 64Bit, 32Bit Python 2.7.15


Antwoord 8, autoriteit 5%

Eerlijk gezegd zijn er hier veel zeer slimme en gecompliceerde antwoorden. De mijne is dom en eenvoudig. Ik heb mijn conda-omgeving verwijderd, vanaf het begin opnieuw geïnstalleerd en deed er alles aan om eerst opencv te installeren. Dit loste mijn problemen op. Omgevingen zijn bedoeld om tijdelijk en doorschijnend te zijn — raak er niet te gehecht aan.

Dus als mijn omgeving fubarheette, zorg er dan eerst voor dat elke instantie is gedeactiveerd (inclusief eventuele IDE’s die deze gebruiken). Verwijder het dan:

conda remove --name fubar --all

Nu maak ik gewoon mijn omgeving opnieuw aan en voeg eerst opencv toe:

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

En ga dan vanaf daar. Open eerst python en zorg ervoor dat import cv2werkt. Dan zou je op weg moeten zijn. Let op: ik installeer Spyder altijd (altijd) als laatste omdat het de neiging heeft om dingen te verknoeien als ik dat niet doe.

Let op, als dat niet werkt, hebben we enkele gevallen gehad waarin mensen Anaconda moesten verwijderen en opnieuw moesten installeren, en toen werkte het. Duidelijk een laatste redmiddel.


Antwoord 9, autoriteit 3%

In mijn geval heeft een grote update van Windows 10 enkele Windows-pakketten verwijderd, dus andere methoden (opnieuw installeren van opencv enz.) hielpen niet. Om het te repareren, installeer:

a) Microsoft Visual C++ Herdistribueerbaar voor Visual Studio 2015, 2017 en 2019

b) Media Feature Pack voor N-versies– alleen nodig als je Windows 10 N hebt

Beiden moeten de pc opnieuw worden opgestart.


Antwoord 10, autoriteit 2%

Ik had hetzelfde probleem bij het installeren van opencv 2.4.13 op Anaconda3 (Python 3.6)… Ik heb dit probleem kunnen oplossen door terug te gaan naar Anaconda2 (Python 2.7)


Antwoord 11, autoriteit 2%

dit gebeurt omdat de compiler of de interpreter meer dan één pakket van het bestand vindt, verwijder al het nummer van hetzelfde pakket dat je hebt en bewaar er dan maar één en probeer het dan te installeren. Het dient


Antwoord 12, autoriteit 2%

Het probleem wordt veroorzaakt door het ontbrekende bestand python3.dllin Anaconda3.

Om het probleem op te lossen, moet je gewoon de python3.dllkopiëren naar C:\Program Files\Anaconda3(of waar dan ook je Anaconda3is geïnstalleerd).

Je kunt de python3.dllkrijgen door de binaire bestanden onderaan de Python’s Release-paginaen het uitpakken van de python3.dlluit het ZIP-bestand.


Antwoord 13, autoriteit 2%

Ik had hetzelfde probleem met python 3.6(Anaconda3) en OpenCV 3.4.1 om Spyder te laten werken. Zelfs na het kopiëren van cv2.pyd naar Anaconda3 Users/home/Anaconda3/Lib/site-packages, werkte het niet.

Maar een oplossing gevonden

Later installeerde ik OpenCV en Dlib op Anaconda en kopieerde ik de gegenereerde cv2.cp36-win_amd64.pyd en dlib.cp36-win_amd64.pyd naar Anaconda3 Users/home/Anaconda3/Lib/site-packages. Deze kunnen worden gekopieerd uit de omgevingsmap C:\Users\home\Anaconda3\envs\opencv\Lib\site-packages.

Eindelijk begon spyder te werken


Antwoord 14

Ik heb hetzelfde probleem. wanneer ik WinPython-programmering installeer en opencv uitvoer nadat ik het cv2.pyd-bestand uit mijn opencv-directory heb gekopieerd, zal het als volgt zijn: C:\Users…..\Downloads\opencv\build\python\2.7\x64, x64 of x86 is afhankelijk van uw 32- of 64-bits apparaten. en plak in C:\Users…..\Downloads\WinPython-64bit-3.5.4.1Qt5\python-3.5.4.amd64\Lib\site-packages, ik heb liever de vorige python 3.5 dan 3.6. Omdat wanneer ik “cv2 importeer” geïnstalleerd (python 3.6) het direct laat zien: “ImportError: DLL-laden mislukt: de opgegeven module kon niet worden gevonden”
Vervolgens installeer ik python 3.5 en open ik de WinPyhton-opdrachtprompt en typ ik “pip install opencv-python”.

De opdrachtprompt downloadt opencv automatisch, het toont het proces als volgt: “Opencv-python-3.3.0.10 succesvol geïnstalleerd”

Ten slotte probeer ik open cv uit te voeren door “import cv2” te typen, het werkt
ik probeer “cv2.versie” te typen, en toont: ‘3.3.0’


Antwoord 15

Onder Winpython: de directory Winpython-64bit-.../python_.../DLLsmoet het bestand cv2.pydworden hernoemd naar _cv2.pyd


Antwoord 16

(base) C:\WINDOWS\system32>conda install C:\Users\Todd\Downloads\opencv3-3.1.0-py35_0.tar.bz2

Ik heb deze opdracht uitgevoerd vanaf de anaconda-terminal nadat ik de versie had gedownload van
https://anaconda.org/menpo/opencv3/files

Dit is de enige manier waarop ik cv2 aan het werk kon krijgen en ik heb twee dagen lang alles geprobeerd.


Antwoord 17

Als dit iemand helpt, op de officiële python 3.6 Windows Docker-afbeelding, om dit ding te laten werken, moest ik de volgende bibliotheken van mijn bureaublad kopiëren:

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`

Antwoord 18

Onthoud als u python-pakket/bibliotheken voor Windows wilt installeren,

je moet altijd rekening houden met Python onofficiële binaire bestanden

Stap 1:

Zoek uw pakket, download afhankelijke versie 2.7 of 3.6 u kunt het vinden onder Downloads/your_package_version.whl het heet python wheel

Stap 2:

Installeer nu met pip,

pip install ~/Downloads/your_packae_ver.whl

dit wordt zonder fouten geïnstalleerd.


Antwoord 19

Ik had hetzelfde probleem en heb er 3 volle dagen mee geworsteld. Ik heb alles geprobeerd wat werd voorgesteld: pip upgraden, Visual C++ bijwerken, Anaconda bijwerken, handmatig bestanden downloaden en eigenlijk elke oplossing die ik op internet kon vinden. Dit is wat uiteindelijk werkte, misschien helpt het iemand anders:

1-Ik heb Python 3 en op Anaconda gebaseerde downloads gedumpt omdat ik merkte dat ze verschillende problemen hadden en in plaats daarvan Python 2.7.16 64-bits gedownload.

2-Navigeerde naar waar Pip zich op mijn schijf bevond (voor mij is het pad C:\Python27\Scripts) markeerde het pad door het te selecteren en typte “cmd” en voer vervolgens in zodat de Opdrachtprompt wordt geopend op dat pad (ik merkte dat het overslaan hiervan meestal een paar fouten oplevert)

3-Pip geüpdatet met behulp van python -m pip install --upgrade pipop de CMD (opnieuw, dit overslaan en niet updaten liet deze procedure niet los door)

4-Het juiste Wheel-bestand gedownload van https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv(na verschillende geprobeerd te hebben was opencv_python-2.4.13.7-cp27-cp27m -win_amd64.whl) Ik kopieerde het naar dezelfde map waarin Pip zich bevond (C:\Python27\Scripts for me) en installeerde het vervolgens via CMD met: pip install opencv_python-2.4.13.7-cp27-cp27m-win_amd64.whl. Altijd via CMD geopend op dat pad zoals getoond in stap 2

5-Na stap 4, toen ik OpenCV importeerde met behulp van import cv2had ik geen DLL-fout meer maar een fout gerelateerd aan numpy (omdat ik net had geïnstalleerd die versie van Python en dus Numpy was nog niet geïnstalleerd). Ik heb numpy geïnstalleerd door pip install numpyte typen en voilà! Het probleem is opgelost en OpenCV is correct geïmporteerd.

Ik hoop dat dit iemand helpt.


Antwoord 20

In mijn geval moest ik een oudere versie van openCV installeren (windows 10, Python 3.6.8)

pip install opencv-python==3.3.0.9

Antwoord 21

Deze fout kan worden veroorzaakt door het missen van de volgende dll
voer hier de afbeeldingsbeschrijving in

Om deze dll te installeren:
https://www.microsoft.com/en-us/software-download/ mediafeaturepack
zoals hierboven al uitgelegd


Antwoord 22

Python 3.8.8 draaien vanuit Windows 10 powershell vanuit een anaconda 4.10.1-omgeving waarmee ik opencv heb geïnstalleerd

conda installeer opencv

Ik kon opencv probleemloos importeren toen ik python startte vanaf de opdrachtregel.

Toen ik echter code probeerde uit te voeren vanuit pydev met behulp van de python-interpreter voor de specifieke anaconda-omgeving die ik had geactiveerd, kon pydev de dll die het zocht niet vinden bij het importeren van opencv.

Het probleem is opgelost door de volgende omgevingsvariabele in te stellen:

CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1

Bron: PyDev/Eclipse laadt niet _mklinit wanneer uitgevoerd vanuit een Conda-omgeving

Wat wijst op deze beschrijving van het oplossen van problemen voor een ander probleem met het laden van de bibliotheek: https://docs.conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy-mkl-library-load-failed


Antwoord 23

Python installeren met:

  • pip install opencv-python (hiervoor is de nieuwste versie nodig)

Zorg ervoor dat opencv-python is geïnstalleerd in pad (\Python\Python36\Lib\site-packages),
daar vind je de cv2 map.

Om de versie van cv2 te controleren:
import cv2
print(cv2.__version__)

Other episodes