Python版OpenCVにて補完機能を使う (VS2013 Python Tools)


このエントリーをはてなブックマークに追加

以前に Visual Studio Express 2013をPythonのIDEとして使う - minus9d's diary という記事を書きました。これの延長として、VS2013にてOpenCVPythonバインディングを使用するときに、補完機能を有効にする方法について書きます。

  1. 「ソリューションエクスプローラ」のReferencesで右クリック
  2. 「参照の追加(R)...」をクリック
  3. 参照タブを選択肢、ファイル名(N)のところに、OpenCVインストーラを展開すると生成される cv2.pyd を入れてOKをクリック
    • cv2.pydの場所は、build\python\2.7\x86 または x64。使用するPythonと同じものを選ぶ。

これで補完機能が使えるようになります。import cv2した後、cv2.と打ってタブを押すと補完が効くことを確かめられます。

補完は効くようになったけど実行ができない(最初のimport cv2のところでNo module named cv2とでてしまう)人は、上記に加えて、「ソリューションエクスプローラ」のSearch Pathsにcv2.pydのパスを含めればよいはずです。

2014/10/22追記:私の知る限り補完機能は限定的です。例えばcv2.imまで打つと、確かに自動的にimで始まる関数群が補完候補に上がります。一方で、img = cv2.imread("img.jpg");と画像オブジェクトを生成した後、img.sと打っても、img.shapeが補完の候補に上がることはありません(少なくとも私の環境では)。

どうやらAutocomplete for OpenCV-Python in Windows not working - Stack Overflowに書かれている通り、.pydファイルは実質的には.dllファイルのようなコンパイル済のファイルで、生のPythonソースコードが提供されていないのが原因のようです。