質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

19146閲覧

PythonでOpen CVを使おうとすると、ImportError: DLL load failed: 指定されたモジュールが見つかりませんと言われます。

Aki1000

総合スコア78

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/10/16 10:22

編集2018/10/17 15:25

前提・実現したいこと

PythonでOpen CVを使おうとしています。OSはwindows7です。PythonのホームページからPython3.7のインストーラをダウンロードしてインストール。その後、コマンドプロンプトからpip install opencv-pythonでopencvをインストール。その後pythonでpythonのモード入りimport cv2と打つと
、「from .cv2 import*」「importerror dll load failed: 指定されたモジュールが見つかりません。 」
と出て、使えません。teratail等ネット上の類似トラブルを見ながら、Visual Studio をインストールしてみたり、OpenCVのホームページからopencvのインストーラをダウンロード実行して出来た、cv2.pydを\Lib\site-packagesのフォルダにコピーしたりしてみたのですが同じです。

発生している問題・エラーメッセージ

import cv2

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python\Python37\Lib\site-packages\cv2_init_.py", line 3, in <module>
from .cv2 import*
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

試したこと

Visual Studio をインストール。
Microsoft Visual C++ 2015 Redistributable Update 3をインストール。

OpenCVのホームページからopencv-3.4.0-vc14_vc15.exeをダウンロード実行して出来た、opencv\build\python\2.7\x64の中のcv2.pydを\Lib\site-packagesのフォルダにコピー(teratailの類似例にこれで解決したとあるが、これは2.7用なのでダメな気がする。ダメだった)。

python 3.7をアンインストールし、3.5及び3.6をインストールして試してみた。
pip uninstall opencv-pythonの後、pip install opencv-pythonした。
openCVのホームページからwhlファイルを落としてきて、pip uninstall opencv-pythonの後、pip install opencv_python-3.4.3+contrib-cp37-cp37m-win_amd64.whl
でインストール。

どうしても、ImportError: DLL load failed: 指定されたモジュールが見つかりませんとなってしまいます。
是非、よろしくお願いします。分かる人が居るとありがたいです。

追記します

anacondaは使用していないです。

pip install opencv-pythonの結果は
Name: opencv-python
Version: 3.4.3.18
Summary: Wrapper package for OpenCV python bindings.
Home-page: https://github.com/skvark/opencv-python
Author: None
Author-email: None
License: MIT
Location: c:\python\python37\lib\site-packages
Requires: numpy
Required-by:
です。

opencv-python --ignore-installedでキャッシュを無効にして入れ直してもダメです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2018/10/16 11:46

anacondaは利用していないのですよね?
tachikoma

2018/10/16 12:02

念の為ですが、pip show opencv-pythonの結果教えてもらえます?
Aki1000

2018/10/16 17:33 編集

Anacondaは利用していないです。 pip install opencv-pythonの結果は、Name: opencv-python Version: 3.4.3.18 Summary: Wrapper package for OpenCV python bindings. Home-page: https://github.com/skvark/opencv-python Author: None Author-email: None License: MIT Location: c:\python\python37\lib\site-packages Requires: numpy Required-by: です。
tachikoma

2018/10/17 00:14

うーん、本来あるはずのdllが消えてしまってるようですが、原因がよく分かりませんね。あとはpip install opencv-python --ignore-installedを試すとか
Aki1000

2018/10/17 15:29

opencv-python --ignore-installedでキャッシュを無効にして入れ直してもダメです。
guest

回答1

0

自己解決

英語サイトで同様の問題に当たっている人たち事例から解決にたどり着いた。

Dependecy Walkerでcv2.cp36-win_amd64.pydの依存関係を調べると、いくつかのファイルにエラーが見つかる。
そのうち、 API-MS-WIN-DOWNLEVEL-SHLWAPI-L1-1-0.DLLがこの問題の正体。

API-MS-WIN-DOWNLEVEL-SHLWAPI-L1-1-0.DLLをcドライブを検索して探す。(ウェブ上の情報だとDLL集めたあやしげなサイトからダウンロードしてたが)
幸い、ローカルのC:$WINDOWS.~BT\Sourcesにファイルがあった。
このAPI-MS-WIN-DOWNLEVEL-SHLWAPI-L1-1-0.DLL
をWindows\SysWOW64とsystem32にコピーすると問題なく動くようになった。

投稿2018/11/04 08:40

Aki1000

総合スコア78

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問