web-dev-qa-db-ja.com

ImportError:DLLロード失敗:指定されたプロシージャが見つかりませんでした。Python

最近、Python(x、y)パッケージの最新バージョン(2.7.6.0)をインストールしましたが、pythonコードを実行すると、エラーが表示されます。

Traceback (most recent call last):
File "D:\Projects\comparison\Lagebestimmung\main.py", line 11,   in <module>
import cv2
ImportError: DLL load failed: The specified procedure could not be found.

インストール中にopencvモジュールを正しく選択しました。

また、以前のバージョンのPython(x、y)をコンピューターにインストールしてから、新しいバージョンをインストールする前にアンインストールしました。そのバージョンでは、そのような問題はありませんでした。

10
Sanchit
  1. 'site-packages'のcv2.pydでDependency Walker( http://www.dependencywalker.com/ )を使用します。
  2. ライブラリツリーがある左上隅を見てください。
  3. 通常のライブラリには青または灰色のアイコンがあります。次のように、左側に赤いアイコンがあるライブラリを見つけてください: http://i.stack.imgur.com/YiEuD.png
  4. 赤い旗のあるAPIを見つけて、赤いアイコンのライブラリのparentライブラリ名を覚えてください。赤旗は、親ライブラリが何らかのAPIを必要とすることを意味します。これは、基礎となるライブラリにはありません。私の場合、赤いアイコンのライブラリは「kernel32.dll」で、その親ライブラリはmsvcr90.dll、tbb.dll、および「winsxs」のライブラリで、名前は隠されています。
  5. 通常、問題は親ライブラリの正しいバージョンを入手することで解決できます。たとえば、Windows XPで、Windows Vista用にコンパイルされたDLLを使用しようとしています。このDLLは、Windows XPの 'kernel32.dll'にはない 'InitializeCriticalSectionEx' APIをインポートします。XPのバージョンDLLまたは「Ex」の代わりに「InitializeCriticalSection」で再コンパイルすると問題が解決します。別の例:Qt 4.8.4およびQtバージョン4.7を含むPyQt4で使用するためにコンパイルされたOpenCVを使用しています。cv2.pyd(ちなみに、これはDLLです)。OpenCVで必要な特定のQt APIは4.7のDLLでは使用できないため、インポートは拒否されます。解決策は、Qtライブラリバージョン4.8.4を '%PYTHONHOME%\ Lib\site-packages\PyQt4 'フォルダーまたはPATH。gitリポジトリから独自のバージョンのOpenCVをビルドするときに、この問題が発生しました。
11
ogurets

これを試してください:Windows用のopencvをインストールします。ここからダウンロードしてください:

http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.1/OpenCV-2.4.1.exe/download

その後

 Copy cv2.pyd from C:\opencv\build\python\x86\2.7\ and paste it in the folder python site-packages folder . restart your IDE. 

Numpyがインストールされていることを確認します。そうでない場合は、ここから入手してください。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
1
Priyank Patel

python 3を使用しているプログラマー向けに、OpenCVをインストールするには、wheelパッケージをダウンロードしてください。

NumPyが既にインストールされていることを確認する必要があります。 Anacondaは依存関係を処理するための素晴らしいパッケージです。あなたはそれで箱から出して派手に取得します。

次に、あなたのPythonインストールversion)に対応するOpenCVバージョンをダウンロードします: http:// www .lfd.uci.edu /〜gohlke/pythonlibs /

次のコマンドを実行すると、Pythonインタープリターのバージョンを確認できます。

python --version

私の場合、C-Python3.5を実行しているので、opencv_python‑3.2.0‑cp35‑ cp35m‑win_AMD64.whl

最後に、wheelパッケージをダウンロードしたディレクトリで、以下を実行します。

pip install opencv_python-3.X.X-cpXX-cpXXm-xxxx.whl
1
djondal

私は同じ問題を抱えていたので、ipythonを使用すると[ipythonがインストールされている場合は、cmdにipythonと書く]と機能します。

0
Davido

以下は私のために働いた。 Python(X、Y)がインストールされている(そして、OpenCVのオプションがインストールの最初にチェックされている)と仮定して、次の手順を実行しました。

  1. Opencv-2.4.13をダウンロードし、所定のフォルダーにファイルを抽出します。
  2. ファイル「cv2.pyd」(10MBのファイル)をコピーします
  3. "...\Lib\site-packages"フォルダーのcv2.pydファイルを置き換えます。元の「cv2.pyc」ファイルのサイズが2MB未満であることがわかります。
  4. Python(x、y)とSpyderを起動します。 Pythonコンソールに「cv2 .version」と入力します。>>> cv2 .version-> '2.4.13'が表示される場合があります
  5. OpenCVが動作しています。
0
Luis Jose