34

cv2Pythonにインポートしようとすると、次のエラー メッセージが表示されるという問題があります。

>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: %1 is not a valid Win32 application.

パッケージのビット数が Python パッケージとは異なることが示唆されている、これに関する多くの投稿があることは理解しています。

ただし、実行しているものはすべて 64 ビットです。私は Windows 7 64 ビットを使用しており、winpython 2.7.3.3 の 64 ビット ディストリビューションを使用しています。ここで提供されている手順に従って OpenCV を 64 ビットでコンパイルし、cv2.pyd DLL ファイルを Lib/site-packages フォルダーに配置しました。 Python インタープリター。

残念ながら、Python の 32 ビット バージョンを使用するという提案は、32 ビットには大きすぎる NumPy 配列を処理する必要があるため、私にとってはもはや機能しません。


唯一欠けていたのは、新しい NumPy バイナリ パス (C:\opencv\build\bin\Release) を Windows PATH 環境変数に追加し、Python インタープリターを再起動することでした。

今はすべてうまくいっているようです!

4

8 に答える 8

28

ImportError メッセージは、Win32 への参照のために少し誤解を招くものですが、問題は単に OpenCV DLL が見つからなかったことです。

この問題は、OpenCV バイナリのパスを Windows PATH 環境変数に追加することで解決されました (例として、私のコンピューターでは、このパスはC:\opencv\build\bin\Releaseです)。

于 2013-07-23T21:06:49.007 に答える
4

OpenCV の 32 ビット版をインストールしてみてください。

于 2013-06-14T09:19:40.613 に答える
2

または、Windows 64 ビット用の cv2 モジュールを再構築する必要があります。

于 2013-11-20T04:05:53.447 に答える
1

cv2.pydファイルを x86 フォルダー (たとえば、 C:\opencv \build\python\2.7\x86\ ) からC:\Python27\Lib\site-packages\にコピーするだけで、x64 フォルダーからではありません。フォルダ。

于 2015-12-09T06:26:24.853 に答える
1

このエラーは、Python のバージョンが混在している場合にも発生する可能性があります。

たとえば、ロードする DLL ファイルのいずれかが Python 2.7.16 を使用してコンパイルされており、Python 2.7.15 でインポートしようとすると、エラーImportError: DLL load failed: %1 is not a valid Win32 application.がスローされます。

これは、少なくとも私の場合の問題であることがわかったものです。

于 2020-01-21T15:59:12.200 に答える
0

このエラーが発生したとき、コンピューターがクラッシュして再起動すると消えました。IDE を閉じてから再度開いてみてください。それでもうまくいかない場合は、コンピューターを再起動してみてください。このエラーが発生したときにPyCharmを再起動せずに、その時点でライブラリをインストールしたところです。

爆発したコンピューターがランダムにクラッシュし続けるため、テストのために最初にPyCharmを閉じたことはありません...私はそれに取り組んでいますが、少なくともこの問題を解決しました...小さな勝利... :)。

于 2015-09-08T03:01:54.120 に答える