Skip to main content

macOS の Python に OpenCV を組み込む

opencv を python の拡張モジュールとして組み込むと python で opencv の関数や機能をそのまま利用できるようになります。正しく組み込んだ場合、以下のように opencv の関数を呼び出します。

import cv2
img = cv2.imread("/pictures/sample.png")

このように簡単に画像ファイルの読み込み機能を利用できます。

一方、opencv のモジュールを正しく組み込めない場合、以下のエラーメッセージが表示されます。

import cv2
ImportError: No module named cv2

ソースコードから OpenCV の Python モジュールをビルド

opencv のビルド方法とほぼ同じですので、ビルドまでの手順は「macOS で OpenCV をビルドする」をご参照ください。

macOS では python のモジュールパスは以下のパスとなりますので、CMake の設定を修正します。

/Library/Python/2.7/site-packages/

「python2」を検索して「PYTHON2_PACKAGES_PATH」の値を上記のパスに変更します。

また、デフォルトでは「BUILD_opencv_python2」が「ON」になっていますが、「ON」になっていることを確認します。

python で opencv を利用する際に、他のサブライブラリへの参照エラーを避けるために、「BUILD_SHARED_LIBS」をOFFにします。

以上の設定で「Configure」と「Generate」を順番に押します。

Terminal を使って opencv のビルドフォルダーで以下のコマンドを実行します。

cd .../opencv/build/modules/python2
make
sudo make install

最後の「sudo make install」はビルドした cv2.so を python の拡張モジュールパスにコピーします。そのため管理者権限が必要ですのでパスワードを入力してください。

再度、python で import cv2 を実行してみます。何も表示されない場合は正しく組み込むことができています。

$ python
>>> import cv2



Jing

撮影に興味を持つ猫と電子工作が大好きプログラム歴が17年のIT技術者。

Leave a Reply

Your email address will not be published. Required fields are marked *