web-dev-qa-db-ja.com

cv2(opencv)のインポート時に「DLLのロードに失敗しました」

私はこの問題を解決するために何時間も費やしましたが、解決策が見つかりません。あなたが私と共有する手がかりを見つけてください。

[Windows Server 2012 R2 x64、python 3.7 64x]

pip install opencv-contrib-python

エラーなしでインストールされます。
そしてインポートしようとすると

import cv2

このエラーを見せてください:

Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import cv2
  File "C:\Program Files\Python37\lib\site-packages\cv2\__init__.py", line 3, in
 <module>
    from .cv2 import *
ImportError: DLL load failed: The specified module could not be found.

そして、私はこのエラーに関する別のトピックを見ますが、彼らの解決策は私にはうまくいきません:
- cv2のインポート時のDLLロード失敗エラー
- pythonでのcv2のインポートの失敗:DLLのロードに失敗しました
-および here の多くのページ

アナコンダと私もアナコンダを持っていないので、彼らの何人かはその問題について言います。そして、多くの人が32または64バージョンの問題だと言っていますが、私は両方とも失望します。システム変数に関する多くの...
どのdllをロードできませんでしたか? cv2?どうして?

私が今まで試したこと:
-pythonバージョンの変更:86xおよび64xの3.5、3.7、2.7(最後のバージョンを完全にアンインストールし、プログラムファイルの残りのファイルをすべて削除してから、新しいファイルをインストールします)
-opencv-python、opencv-contribなどの別のパッケージで試してください。特定のバージョンを.whlでインストールしてみてください(いくつかのトピックでこれについて読んでいるので、インストールしてくださいnumpy-1.14.5 + mkl-cp37 -cp37m-win_AMD64.whlおよびopencv_python-3.4.3 + contrib-cp37-cp37m-win_AMD64.whlしかし、何も変わらない
-すべてのテストでcv2の前にnumpyをインポートします
-64x用Microsoft Visual C++ 2015再頒布可能アップデート3、2008、2010、2017をインストール

私を助けてください。

UPDATE
次の2日間
次の投稿で言及しているdependency walkerに基づいて欠落しているdllを管理しようとしています。すべてのdllをダウンロードして、システム32に入れてください。問題。

DAY 4,5
次のステップ、OpenCVを自分のマシンでコンパイルして、Visual Studio 2012 + cmakeをインストールし、ベースに document compile 2 version、64x and 32、コンパイル自体に多くの問題があるc langからlibが欠落しており、Visual C++ Redistributable for Visual Studio 2012...)をインストールする必要があります。 dllが見つからないという同じ問題、コンパイルプロセスは非常に遅く、私から2日を与えます。このミッションで失敗した場合:/私は新しい方法を探します...

6日目
次のステップは、ドッカーを使用してマシンでOpenCVを実行しようとすることです(ただし、ドッカーウィンドウはWindows 10およびWindows Server 2016にインストールするだけです)。 Dockerのように機能するVagrantを見つけましたが、今日VM(ビジュアルボックス)でこの記事に費やしている時間は驚くべきことです。dockerとvagrantのコンセプトはとても魅力的で、新しいパズルがあるように遊んでいます:)最初のエラーが表示され...無限のエラーが表示されます:/

7日目
Windowsサーバー2012はvbマシン(ビジュアルサーバー)であり、別のビジュアルボックスでビジュアルボックスを実行できないため、Vagrantテストも失敗しました。だから私は新しい手がかりが必要です:(

8-9日目
VMwareにvagrantをインストールしてください。VMwareをダウンロードします。残念ながら、このプラグインは無料ではありません(79 $)。したがって、 pythonanywhere.com that '完全なPython環境がすでにインストールされているマシンにアクセスできます。 'この無料のアカウントでは、urllibでopenurlを実行できません。さらに制限を加えて... ubuntuをインストールしようと思います。 VMware自己...仕事の後の結果をここで読みます。それは同じ理由で不可能ですvb(ビジュアルボックス)

11
Neo Anderson

これは、Windows 10 Nディストリビューションを使用している場合に発生する可能性があります。Nディストリビューションには、OpenCVバージョン3.4以降で必要なWindowsメディア機能パックが事前にインストールされていません。

推奨される解決策は、次の場所に機能パックをインストールすることです: https://www.Microsoft.com/en-us/software-download/mediafeaturepack

現在のバージョンのWindowsで動作するバージョンを選択するよう注意してください。

それがオプションではない場合、dll依存関係を持たないOpenCVの以前のバージョンにフォールバックします:pip install opencv-python=3.3.0.9

WindowsはNバージョンであるため、この問題は多くの場所で見られ、Windows環境全体に多くの影響があります。この問題があるかどうかを識別する最も速い方法は、HTML5メディアプラグインが見つからないという場合、EdgeブラウザーでYouTubeを開くことです、 これが問題です。

13
anand_v.singh

(OpenCVを自分でコンパイルしましたが)同じエラーが発生しました。私の場合、いくつかのDLL依存関係がありませんでした。これは、プログラム Dependency Walker で確認できます。

Dependency Walkerをダウンロードして実行し、Dependency Walkerでファイルcv2.pydを開きます。pipパッケージがインストールされている場合はC:\Program Files\Python37\lib\site-packages\cv2\にあるはずです正しく。

次に、このプログラムは依存関係をスキャンし(数分かかる場合があります)、不足しているDLLファイルを赤で表示します。

4
Venify

Python 3.7は一部のモジュールをサポートしていない場合があります。

  • python 3.6.4をインストールしてみてください
  • コマンドプロンプトを使用して、「pip install opencv」または「pip install opencv-python」
  • Cv2をインポート
3
Vikhyat Agarwal

私はAnaconda3を使用していることを除いて同様の問題がありましたが、このコードはそれを解決しました:

conda install -c anaconda py-OpenCV
3
Omda asli

15日間のブレインストーミングの後、このソリューションはうまくいきました。そして、それはあなたにとってもうまくいくと確信しています。 OpenacV 3.1.0を使用するためにanacondaをインストールしました。次の手順に従いました。

1)python 3.7を使用するanaconda-5.3 64ビットインストーラー(614.3 MB)をインストールしました。リンクからanacondaをダウンロードできます: https://www.anaconda.com/download/#windows

2)anacondaのインストール後、Windowsのスタートボタンで「anaconda Prompt」と入力してanaconda Promptを開きます。 「管理者として実行」で開きます。

3)OpenCVモジュールをインストールして使用するには、新しい環境を作成する必要があります。新しい環境を作成してアクティブにするには、次のコマンドを記述します。
>conda create --name myNewEnv python=3.5.0
>activate myNewEnv
"myNewEnv"は新しい環境の名前です。

4)次に、OpenCVの前提条件(numpy)をインストールしてから、opencv3をインストールする必要があります。次のコマンドを実行する前にインターネットを起動します。
>conda install numpy
>conda install anaconda-client
>conda install --channel https://conda.anaconda.org/menpo opencv3

5)OpenCV3がインストールされました。ここで、次のコマンドを実行してインストールを確認します。
(myNewEnv) C:\Users\Nilesh> python
>>>import cv2
>>>cv2.__version__

OpenCV3を2回目以降に起動する場合は、次の手順に従います。

1)「管理者として実行」権限で「スタート」メニューから「anacondaコマンドプロンプト」を開きます。
2)コマンドを入力> your_new_environment_nameをアクティブにします
3)デスクトップ上にあるファイルを実行したい場合、次のコマンドを記述します。
> cd C:\Users\Nilesh\Desktop
4)作業ディレクトリはデスクトップになりました。
5)次のコマンドを入力して、コードを実行します(たとえば、test.py)。
> python test.py
注:ここで、pythonはバージョン3を意味します。

このソリューションがあなたのために働くことを願っています。

2
Nell

Opencvをアンインストールして、代わりにwheelファイルを使用してインストールしてみてください。 ここ は、Windows用にコンパイルされたOpenCVの多くのバージョンがあるWebサイトで、必要なものを検索し、pipコマンドで簡単にインストールします。

Python 3.6(64ビット)があり、OpenCV 3.4.3をインストールする場合は、ホイールファイルをダウンロードします:opencv_python‑3.4.3‑cp36‑cp36m‑win_AMD64.whl

2
Rakshith G B

Windows Server 2012 r2でも同様の問題に直面しました。多くの調査結果の後、私はmfplat.dllがWindow Media Serviceに関連していないことを発見しました。

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

  1. Windowsの機能をオンまたはオフにします
  2. ロール画面をスキップして、機能画面に直接移動します
  3. [ユーザーインターフェイスとインフラストラクチャ]の下の[デスクトップエクスペリエンス]を選択します。

この後、opencvのすべての必要なdllが利用可能になります。

2
Biks

たくさんの回答や記事を読んだ後、「DLLのロードに失敗しました」という同じ問題に悩まされていました。

私はこれがあなたのために働くかどうかわかりませんが、試してみてください。

使用したツールとバージョン:anaconda-5.3.1、python-3.7、win 10(64ビット)

実行した手順:

step1:i here からopencv 3.4.4をインストールし、Cドライブに展開します(どこでも実行できます)

step2:cv2.pydファイルを[C:\ opencv\build\python\cv2\python-3.7]から[C:\ Users\「ユーザー名」\ Anaconda3\Lib\site-packages]。

step3dependency walkerを実行して、どのdllファイルが欠落しています。私の場合、Dependency Walkerを実行した後、2つのdllファイルがロードされていないことが示されました。(1)OPENCV_WORLD344.DLLと(2)IESHIMS.DLLです。私はあなたの状況については知りませんが、あなたはこれを行うことができます->依存関係ウォーカーを使用してファイル名を見つけてから、パスを見つけて手順4に従ってください。

step4:システムプロパティ->詳細設定->環境変数を開き、パスを編集して、C:\ opencv\build\x64\vc14\bin(in私の場合、これはOPENCV_WORLD344.DLLが保存されている場所です)、これを行った後、pythonでcv2をインポートします。

私の答えがうまくいかない場合は、コメントを追加してください。

1
Rhythm sharma

それは私のためにうまくいった。*答えはあなたの仮想環境にcv2.pydファイルを置く必要がある。 envsの2つのフォルダーの下に配置する必要があります。

  • firstはDLLSフォルダーの下にあり、SecondはLib/site-packagesの下にあります

Cv2.pydを取得するには、このリンクからダウンロードします https://sourceforge.net/projects/opencvlibrary/ そして、ダウンロードファイルを抽出します

Opencvフォルダーを取得します。その後、Downloads\opencv\build\python\2.7などのopencvフォルダー内に移動し、32または64ウィンドウバージョンに応じて1つ深いフォルダーに移動します。

Cv2.pydのコピー重要****cv2.pydファイルをenvにコピーした後、cv2.pydの名前を_cv2.pydに変更する必要があります

0
kaythi swetun