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

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

新規登録して質問してみよう
ただいま回答率
87.20%
OpenCV

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

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

Pythonでcv2をimportできない

jty4k
jty4k

総合スコア19

OpenCV

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

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

2評価

2クリップ

43439閲覧

投稿2018/04/06 03:38

前提・実現したいこと

Python上でOpenCVを使用したプログラムを作成しようとしていますが、cv2のimportができずに困っています。

使用している環境は次の通りです。
OS:Windows7 64bit
Python:2.7.14(Anacondaを使ってインストール)
OpenCV:3.2.0(Anacondaインストール後にCMakeで自前ビルド)
Spyder:3.2.6
その他:Visual Studio Professional 2015インストール済み

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

runfile('C:/Users/USER/.spyder/temp.py', wdir='C:/Users/USER/.spyder') Traceback (most recent call last): File "<ipython-input-9-286fcfa931c2>", line 1, in <module> runfile('C:/Users/USER/.spyder/temp.py', wdir='C:/Users/USER/.spyder') File "C:\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile execfile(filename, namespace) File "C:\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 87, in execfile exec(compile(scripttext, filename, 'exec'), glob, loc) File "C:/Users/USER/.spyder/temp.py", line 8, in <module> import cv2 ImportError: DLL load failed: 指定されたプロシージャが見つかりません。

気になっているのは、この手の質問でよく見かける「指定された"モジュール"がみつかりません」ではなく、「指定された"プロシージャ"がみつかりません」となっている点です。

該当のソースコード

python

import cv2 print cv2.__version__

最小構成コードのつもりで書いています。
Spyderのエディタ画面で上記コードを記載後、ファイルを実行していますが、前述のエラーが吐き出されます。

試したこと

  • Python(Anaconda)パッケージ、OpenCVのインストール状態の確認

Install OpenCV-Python in Windows
https://docs.opencv.org/3.2.0/d5/de5/tutorial_py_setup_in_windows.html
上記ページを参考にして、コマンドプロンプトにて下記コマンド実行により必要なパッケージ(NumpyとMatplotlib)を確認しました。

# packages in environment at C:\Anaconda2: # # Name Version Build Channel _ipyw_jlab_nb_ext_conf 0.1.0 py27h9111531_0 alabaster 0.7.10 py27h2cab13d_0 anaconda 5.1.0 py27_2 anaconda-client 1.6.9 py27_0 anaconda-navigator 1.7.0 py27_0 anaconda-project 0.8.2 py27he89e3ca_0 (中略) markupsafe 1.0 py27h9d4480d_1 matplotlib 2.1.2 py27ha51faf0_0 mccabe 0.6.1 py27hde0bf6e_1 menuinst 1.4.11 py27h0c8e037_0 mistune 0.8.3 py27_0 mkl 2018.0.1 h2108138_4 mkl-service 1.1.2 py27h3c6b6b0_4 mpmath 1.0.0 py27h0d59bc2_2 msgpack-python 0.5.1 py27hdc96acc_0 multipledispatch 0.4.9 py27h8ebb51e_0 navigator-updater 0.1.0 py27h5e42984_0 nbconvert 5.3.1 py27h7a573cf_0 nbformat 4.4.0 py27hf49b375_0 networkx 2.1 py27_0 nltk 3.2.5 py27h88af825_0 nose 1.3.7 py27h84c72c6_2 notebook 5.4.0 py27_0 numba 0.36.2 np114py27h719e94c_0 numexpr 2.6.4 py27h20dc147_0 numpy 1.14.0 py27hfef472a_1 numpydoc 0.7.0 py27hf7b062b_0 odo 0.5.1 py27h64810b2_0 olefile 0.45.1 py27_0 openpyxl 2.4.10 py27_0 openssl 1.0.2n hc64555f_0 packaging 16.8 py27hae1a450_1 pandas 0.22.0 py27hc56fc5f_0 pandoc 1.19.2.1 hb2460c7_1 pandocfilters 1.4.2 py27h76461d3_1 parso 0.1.1 py27hd69ea77_0 partd 0.3.8 py27h1e0692f_0 path.py 10.5 py27he482d56_0 pathlib2 2.3.0 py27h0ae272f_0 patsy 0.5.0 py27_0 pep8 1.7.1 py27_0 pickleshare 0.7.4 py27hb5f6335_0 pillow 5.0.0 py27h901f87c_0 pip 9.0.1 py27hdaa76b4_4 pkginfo 1.4.1 py27h6ce81e3_1 pluggy 0.6.0 py27h89dc50b_0 ply 3.10 py27h5fb8a85_0 prompt_toolkit 1.0.15 py27h3a8ec6a_0 psutil 5.4.3 py27h0c8e037_0 py 1.5.2 py27ha24bda0_0 pycodestyle 2.3.1 py27h24cd5d9_0 pycosat 0.6.3 py27hcd410c5_0 pycparser 2.18 py27hb43d16c_1 pycrypto 2.6.1 py27h0c8e037_7 pycurl 7.43.0.1 py27hc64555f_0 pyflakes 1.6.0 py27h34e7826_0 pygments 2.2.0 py27ha50f84f_0 pylint 1.8.2 py27_0 pyodbc 4.0.22 py27hc56fc5f_0 pyopenssl 17.5.0 py27h59156d7_0 pyparsing 2.2.0 py27hc7d9fa6_1 pyqt 5.6.0 py27h224ed30_5 pysocks 1.6.7 py27h59bdd1e_1 pytables 3.4.2 py27h583b7c0_2 pytest 3.3.2 py27_0 python 2.7.14 h8c3f1cb_23 python-dateutil 2.6.1 py27hbdcc174_1 pytz 2017.3 py27hca431c1_0 pywavelets 0.5.2 py27h0dc3f48_0 pywin32 222 py27h0c8e037_0 pywinpty 0.5 py27hc56fc5f_1 pyyaml 3.12 py27ha287073_1 pyzmq 16.0.3 py27he883654_0 (中略) xlrd 1.1.0 py27h2b87a7f_1 xlsxwriter 1.0.2 py27h5ed79b1_0 xlwings 0.11.5 py27_0 xlwt 1.3.0 py27h2271735_0 yaml 0.1.7 h3e6d941_2 zict 0.1.3 py27h0171463_0 zlib 1.2.11 hbc2faf4_2

また、同ページによると あとはcv2.pydをsite-packageフォルダへコピーすればOK、とのことなので確認すると、既にありました。
(タイムスタンプを見る限り、OpenCVビルド時に自動で置かれたものと思っています。)

ここで気にしているのは、インストール方法を検索するとよく見かける下記のコマンドによるパッケージのインストールをしていない点です。

pip install opencv-python

コマンドを実行していないのは、Spyderの初回起動時に「pipをつかったインストールはせずにcondaが更新されるのを待ってからcondadeインストールしてくれ」という旨のTipsがポップアップしたのを見たためです。
(じっくり読まずに進んでしまったので、間違った認識をしているかもしれません。)

  • cv2.pydの依存関係の確認

「指定されたプロシージャが見つかりません。」の解決方法の特定に「Dependency Walker」が有用との情報を見つけたので、本ツールでcv2.pydを読み込みました。
Dependency Walker読み込み結果
見つけられない下記の依存DLLがあるとのことで、それぞれ確認するとDCOMP.DLL以外は見つかりました。(.libならある・・・)
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL
ためしにDLLがあるパスを環境変数に追加してみましたが、結果は変わらず。。。(DCOMP.DLLが原因・・・?)
また、これらDLLはVisual C++ 再頒布可能パッケージに含まれているらしく、確認しましたが既にインストールされていました。
(Visual Studioインストール済みなので当然・・・? 2005, 2008, 2010, 2012, 2013, 2015がありました。)
Win 7, 64 bit, dll problems

https://stackoverflow.com/questions/17023419/win-7-64-bit-dll-problems
また、上記ページを見ても結局のところ解決方法がピンと来ず・・・。

以上、誤った認識があるのかもしれませんが、なかなかスタート地点に立てず困っております。。。
アドバイスいただけますと幸いです。
また、不足している情報等がありましたらご指摘ください。追記いたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

OpenCV

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

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。