web-dev-qa-db-ja.com

PythonでOpenCVを使用する方法は?

Windows 7マシンにOpenCVをインストールしました。その結果、私は新しいディレクトリを取得します:

C:\OpenCV2.2\Python2.7\Lib\site-packages

このディレクトリには、cv.libcv.pydの2つのファイルがあります。

次に、Pythonのopencvを使用してみます。私は次のことを行います:

import sys
sys.path.append('C:\OpenCV2.2\Python2.7\Lib\site-packages')
import cv

その結果、次のエラーメッセージが表示されます。

File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.

私は何を間違えていますか?

[〜#〜] added [〜#〜]

here が推奨されていたので、C:\OpenCV2.0\Python2.6\Lib\site-packagesのコンテンツをC:\Python26\Lib\site-packagesにコピーしました。助けにはなりませんでした。

追加2

私の環境変数には次の値があります。

Path=C:\Program Files\MiKTex\miktex\bin;C:\OpenCV2.2\bin;C:\Python26;
PYTHONPATH=C:\OpenCV2.2\Python2.7\Lib\site-packages

何か変更する必要がありますか?何か追加する必要がありますか?

追加3

私の質問は一般的だと思います:ライブラリの使用方法は?おそらくどこかに* .ddlファイルを見つける必要がありますか?次に、このファイルを含むディレクトリの名前をいくつかの環境変数の値として使用する必要がありますか?それともsys.addpathを使用する必要がありますか?また、ライブラリを呼び出す方法が、ライブラリを含むファイルの名前にどのように関連するかを知る必要があります。

追加4

import cvと入力すると、次のようになります。

ImportError: DLL load failed: The specified module could not be found.

しかし、import opencvと入力すると、次のようになります:

ImportError: No module named opencv

追加5

矛盾したバージョンのpythonを使用することが提案されています。より詳細には、OpenCVはPython2.7を使用しようとし、Python2.6がありました。だから、私はPython 2.7をインストールした。これは違いを生む。今では古いエラーメッセージはないが、新しいエラーメッセージがある:

ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import

追加6

私はnumpyをインストールすることで問題を解決することができました。 Pythonの異なるバージョンに対応する異なるnumpyインストーラーがあることに気付かなかったため、時間がかかりました。いくつかの詳細は、私自身の質問に対する回答にあります(以下を参照)。

30
Roman

問題は解決しました。次の手順が実行されました。

  1. python(バージョン2.7))の新しいバージョンがインストールされました。
  2. その後、numpyライブラリに問題があったため、OpenCVを実行できませんでした。
  3. Numpyをインストールするのはうんざりしましたが、インストーラーにはPythonの新しいバージョンが表示されませんでした。
  4. 古いバージョンのPythonと、vatriable Pathシステムの古いバージョンへのリンクを削除しました。
  5. その後、numpyインストーラーはインストールを完了できませんでした。
  6. Python 2.7。これは here にあります。
  7. 最後にすべてが機能しました。 「cvをインポート」できました。
15
Roman

私が遭遇したのと同じ問題があると思う。 Pythonの64ビットバージョンを使用している場合、32ビットDLLをロードできません。 OpenCVは現在、32ビットのバイナリのみを出荷しています。 64ビットの.pydおよび.dllファイルが必要な場合は、自分でコンパイルする必要があります。 OpenCV Wikiには 手順 がありますが、気弱な人向けではありません。多大な時間投資が期待されます。

最も簡単な解決策は次のとおりです。

  1. 64ビットPythonをアンインストールする
  2. 32ビットのディストリビューションをインストールします。

PythonXYディストリビューションには、pyopencv(OpenCVフックの優れたセット)が含まれています。唯一の制限は32ビットであるため、ギガピクセルの天文学データを処理する計画を立てないでください! ;)

mustが64ビットバージョンである場合は、 これらの手順 に従ってOpenCVをVisual Studio 2010でコンパイルします。64ビットアプリのビルドについて説明するstackoverflowについての議論があります。 with VC Express。

EDIT:OpenCVは、64ビットPythonバイナリ。dllファイルはパスのどこかに移動する必要があります。 (スクリプトフォルダに配置します)、. pydファイルはsite-packagesディレクトリに配置されます。

5
Carl F.

OpenCVとPythonのインターフェイスに問題があり、あらゆる場所で助けを求めていました。これが私のために働いたものです。私は基本的にこの投稿に従いました: http://opencvpython.blogspot.com/2012/05/install-opencv-in-windows-for-python.html 。 OpenCV 2.4.6をダウンロードして解凍すると、基本的に「opencv」という名前のフォルダーが作成されます。 build-> python-> 2.7に移動します。内部には、「cv2.pyd」というファイルが1つだけあります。このファイルをコピーして、「python-2.7.5\Lib\site-packages」に貼り付けました。私は実際にSpyder IDEを使用していますが、正常に動作します。 pythonインタープリターで、「import cv」と入力するとうまくいきました。

2
Kaccie Li

環境変数を編集する必要があるかもしれません
「マイコンピュータ」またはこのようなものを右クリックして、プロパティをクリックします。

プロパティウィンドウで、[詳細設定]タブをクリックします。
次に、環境変数ボタン。
パスを変更します。

0
Pierre Guilbert