web-dev-qa-db-ja.com

DLL cv2のインポート時のロード失敗エラー

私はWindowsマシンにpython 3.6を使用してopencvを問題なくインストールしました。

pip install opencv-python

しかし、cv2をインポートしようとすると、次のエラーが表示されます

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

この投稿 を見ました

Cv [2]はpythonで動作しないと言われています3

41

Windows 32ビットまたは64ビットマシンでPython 3.6の最新のOpenCV 3.2.0をダウンロードできます。ファイルの検索はwithopencv_python‑3.2.0‑cp36‑cp36mから、こちらから 非公式サイト 。次に、以下のコマンドを入力してインストールします。

  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win32.whl(32ビットバージョン)
  • pip install opencv_python‑3.2.0‑cp36‑cp36m‑win_AMD64.whl(64ビットバージョン)

簡単だと思います。

2017-09-15更新:

OpenCV 3.3.0ホイールファイルが 非公式サイト で利用可能になり、OpenCV 3.2.0に置き換えられました。

2018-02-15の更新:

OpenCV 3.4.0ホイールファイルが 非公式サイト で利用可能になり、OpenCV 3.3.0に置き換えられました。

2018-06-19の更新:

OpenCV 3.4.1ホイールファイルが 非公式サイト で利用可能になり、CPython 3.5/3.6/3.7がサポートされ、OpenCV 3.4.0が置き換えられました。

2018-10-03の更新:

OpenCV 3.4.3ホイールファイルが 非公式サイト で利用可能になり、CPython 3.5/3.6/3.7がサポートされ、OpenCV 3.4.1が置き換えられました。

2019-01-30の更新:

OpenCV 4.0.1ホイールファイルが 非公式サイト で利用可能になり、CPython 3.5/3.6/3.7サポートが追加されました。

2019-06-10更新:

OpenCV 3.4.6およびOpenCV 4.1.0 wheelファイルは、 非公式サイトCPython 3.5/3.6/3.7サポート付きで利用可能になりました。

39
thewaywewere

python 3.5でAnacondaを使用している場合、これはAnacondaリリースの問題です。 (これを参照してください issue

この問題を解決するには、python3.dllファイルをAnaconda3フォルダー(python.exeがある場所)にコピーします。

「python3.dll」を取得する方法

  • cmdpython --versionと入力して、インストールが64ビットか32ビットかを確認します
  • python 3.x埋め込みZipファイルを here からダウンロードします
  • Zipファイルを抽出し、python3.dllファイルをAnaconda3フォルダーにコピーします

ただし、python 3.6Anacondaに移動できる場合、この問題に直面することはありません。可能であれば、それが推奨される方法です。

33
Ramesh-X

私はこのエラーを解決するのに多くの時間を費やしました!コマンドを実行

pip install opencv-contrib-python
31
tientuyen07

この問題に多くの時間を費やし、さまざまな答えをすべて試してみたところ、次のことがわかりました。

  • @thewaywewereが受け入れた回答は適用されなくなりました。これは、opencv-pythonモジュールがまだ利用可能でないときに適用できたと思います。

  • Anaconda 4.2のバグは、python3.dllを出荷するのを忘れていたためです。彼らはこれを次のリリースで修正しましたが、残念ながら4.2はPython 3.5がデフォルトの最後のリリースです。 Python 3.5に固執している場合(たとえば、VS2015は3.5までのバージョンのみを認識しています)、@ Ramesh-Xの回答に記載されているように、python3.dllを手動でダウンロードする必要があります。

  • Python 3.6(OpenCVとVS2015を使用している場合は現在少し難しい)に進むことができる場合は、最新のAnacondaバージョンをインストールするだけで、これらのいずれにも対処する必要はありません。

8
Shital Shah

最近、Azureで同様の問題に直面しましたWindows Server 2012 r2。 Anacondaの有無にかかわらず、すべてのオプションを試しましたが、どれも助けになりませんでした。多くの発見の後、私はmfplat.dllが見つからなかったことを発見しました。これはWindow Media Serviceに関連しています。

したがって、ウィンドウメディアサービスに関連するdllを取得できるように、機能を手動でインストールする必要があります。

1. Windows機能をオンまたはオフにする

2.ロール画面をスキップして、直接機能画面に移動します

3.「ユーザーインターフェイスとインフラストラクチャ」の下の「デスクトップエクスペリエンス」を選択します。

この後、opencvに必要なメディアサービスのすべてのdllが利用可能になります。

したがって、コードをクラウド(Window Server)で実行する場合は、デスクトップエクスペリエンス機能を選択することを忘れないでください。

7
Biks

それに関する多くの質問と多くの提案があります。最近のOpencv 3.4.16およびPython 3.6/3.7では、それらのどれも助けてくれませんでした。最後に、Pyhon 2.7.15に切り替えて、opencv 3.1.0をインストールしました。 DLLの問題は解決されました。

依存関係ウォーカーでcv2.pydを見ると、3.1は1つの欠落したdllに依存していません。 Opencv 3.4 hasこのdllへの依存関係の欠落:

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

これが問題かもしれません。

追伸:Win7 Pofessional 64Bit、32Bit Python 2.7.15があります

6

Python 3.7(OpenCVバージョン4.0)に基づく新しいAnacondaインストールで、Windows 10(N)でこの問題に遭遇しました。上記のアドバイスはどれも役に立ちませんでした(OpenCVを非公式サイトからインストールしたり、VC Redistributableをインストールするなど)。

このgithubの問題 に従って...\AppData\Local\conda\conda\envs\foo\Lib\site-packages\cv2\cv2.cp37-win_AMD64.pydを使用してdumpbin.exeのDLL依存関係を確認しました。ライブラリMF.dllに気付きましたが、これはWindows Media Foundationに属していることがわかりました。

だから私はinstalledNバージョンのMedia Feature Pack Windows 1 andvoilà、問題は解決しました!

3
Premil

スパイダーが機能するために、python 3.6(Anaconda3)とOpenCV 3.4.1で同じ問題が発生しました。 cv2.pydをAnaconda3 Users/home/Anaconda3/Lib/site-packagesにコピーした後でも機能しませんでした。

しかし、解決策を見つけた

その後、OpenCVとDlibをAnacondaにインストールし、生成されたcv2.cp36-win_AMD64.pydとdlib.cp36-win_AMD64.pydをAnaconda3 Users/home/Anaconda3/Lib/site-packagesにコピーしました。これらは、環境フォルダーC:\ Users\home\Anaconda3\envs\opencv\Lib\site-packagesからコピーできます。

ついにスパイダーが働き始めた

1
Kiran Kumar

この問題は、Anaconda3にpython3.dllファイルがないためです。

この問題を解決するには、python3.dllC:\Program Files\Anaconda3にコピーするだけです(またはAnaconda3がインストールされている場所)。

Pythonのリリースページ の下部にあるバイナリをダウンロードし、Zipファイルからpython3.dllを抽出することにより、python3.dllを取得できます。

1
mhaghighat

これは、コンパイラーまたはインタープリターがファイルの複数のパッケージを検出しているため、同じパッケージの数をすべて削除し、1つだけを保持してからインストールを試行するために発生します。仕える

1
user9567614

Anaconda3(Python 3.6)にopencv 2.4.13をインストールするときに同じ問題が発生しました... Anaconda2(Python 2.7)に戻すことで、この問題を解決できました。

1
Venu

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

https://anaconda.org/menpo/opencv3/files からバージョンをダウンロードした後、anacondaターミナルからこのコマンドを実行しました

これがcv2を動作させる唯一の方法であり、2日間すべてを試しました。

0
todd2323

率直に言って、非常に賢明で複雑な答えがたくさんあります。私は愚かでシンプルです。 conda環境を削除し、ゼロから再インストールし、opencvを最初にインストールに苦労しました。これで問題が解決しました。環境は一時的で透けて見えることを意図しているので、過度にアタッチしないでください。

したがって、私の環境がfubarと呼ばれている場合、まずすべてのインスタンスが非アクティブ化されていることを確認してください(使用しているIDEを含む)。次に削除します:

conda remove --name fubar --all

今、私は単に自分の環境を再作成し、最初にopencvを追加します:

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

そしてそこから行きます。私はいつも(always)Spyderを最後にインストールします。

0
neuronet

私は同じ問題を抱えており、それと格闘するのに丸3日かかりました。提案されたすべてを試してみました:pipのアップグレード、Visual C++の更新、Anacondaの更新、ファイルの手動ダウンロード、および基本的にWebで見つけることができるすべてのソリューション。これが最終的に機能したのは、おそらく他の誰かを助けることです:

1-いくつかの問題があることに気づき、Pythonをダウンロードしたため、Python 3およびAnacondaベースのダウンロードを捨てました。 _ 2.7.16 64ビット。代わりに。

2-Pipが私のドライブにある場所(私にとってはパスはC:\ Python27\Scripts)に移動し、選択してパスを強調表示し、 「cmd」と入力してから入力すると、コマンドプロンプトがそのパスで開きます(これをスキップすると、通常、いくつかのエラーが発生します)

3-CMDでpython -m pip install --upgrade pipを使用してPipを更新しました(これをスキップして更新しないと、この手順は実行されませんでした)

4-適切なWheelファイルを https://www.lfd.uci.edu/~gohlke/pythonlibsからダウンロードしました/#opencv (私のために働いたものをいくつか試した後、opencv_python-2.4.13.7-cp27-cp27m-win_AMD64.whl)Pipがあった同じフォルダにコピーペーストしました(C:\ Python27\Scripts私のために)そしてそれからCMDを介してそれをインストールしました:pip install opencv_python-2.4.13.7-cp27-cp27m-win_AMD64.whl。ステップ2で示したように、常にそのパスで開かれたCMDを介して

5-import cv2を使用してOpenCVをインポートしたステップ4の後、DLLエラーはもうありませんでしたが、 numpyに関連するエラー(そのバージョンのPythonをインストールしたばかりなので、Numpyはまだインストールされていないため)。 pip install numpyとvoilàと入力してnumpyをインストールしました!問題は解決され、OpenCVは正しくインポートされました。

これが誰かを助けることを願っています。

0
Metrician

Winpython:Winpython-64bit-.../python_.../DLLsディレクトリのファイルcv2.pyd_cv2.pydに名前を変更する必要があります

0
Alexandre

Windows用のpython package/librariesをインストールする場合、

常に考慮する必要があります Python非公式バイナリ

ステップ1:

パッケージを検索し、依存バージョン2.7または3.6をダウンロードします。Downloads/ your_package_version.whlでpython wheelと呼ばれます

ステップ2:

次に、pipを使用してインストールします。

pip install ~/Downloads/your_packae_ver.whl

これはエラーなしでインストールされます。

私は同じ問題を抱えています。 WinPythonプログラミングをインストールし、opencvディレクトリからcv2.pydファイルをコピーした後にopencvを実行すると、次のようになります:C:\ Users .....\Downloads\opencv\build\python\2.7\x64、x64またはx86は32ビットまたは64ビットデバイスに依存します。 C:\ Users .....\Downloads\WinPython-64bit-3.5.4.1Qt5\python-3.5.4.AMD64\Lib\site-packagesに貼り付けます。以前のpython 3.5を使用します3.6より。 「cv2をインポート」をインストールすると(python 3.6)直接表示されるため:「ImportError:DLL load failed:The specified module could not find the found」次にpython 3.5をインストールして開きますWinPyhtonコマンドプロンプトで「pip install opencv-python」と入力します。

コマンドプロンプトはopencvを自動的にダウンロードします。「成功したopencv-python-3.3.0.10がインストールされました」のようなプロセスを示しています。

最後に、「import cv2」と入力してopen cvを実行しようとしましたが、「cv2 .version」と入力すると動作し、「3.3.0」と表示されます。

0
Irwan

これが公式のpython 3.6 windowsドッカーイメージで誰かを助ける場合、このことを機能させるために、デスクトップから次のライブラリをコピーする必要がありました。

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