OpenCV を Python3 で試す

Linux(Debian) 環境で、Python3 から OpenCV を使いたいなと思い
import cv2
が怒られずインポートできたのでその方法を。

  • OpenCVの公式から最新の安定板をダウンロード(今回3.1の方を選びました)。 DOWNLOADS | OpenCV

  • ダウンロードしたファイルの展開
    $ unzip opencv-3.1.0

  • cmake をインストール。cmake初心者の僕は一緒にgui版もインストールしました。
    # apt-get install cmake cmake-qt-gui

  • cmakge-gui の起動と設定
    $ cmake-gui &

    • Browse Source とBrowse Build の設定を行います。
      Browse Source には先ほど展開した opencv-3.1.0 のディレクトリを、
      Browse Build には色々ファイルが生成されますので、
      とりあえず opencv-3.1.0 の下に build ディレクトリを作成しそこを指定します。 f:id:sarup:20160630210839j:plain

    • 左下あたりにある「Configure」ボタンより生成ファイルをどの形式にするか選ぶので、
      リストボックスは「CodeBlocks -Unix Makefiles」、ラジオボタンは「Use default native compilers」
      を指定し、「Finish」 をクリックします。 f:id:sarup:20160630211452j:plain

    • すると、真ん中のツリービューに色んな設定が表示されます。 f:id:sarup:20160630211620j:plain 僕はホームディレクトリ以下に置きたい人なので、
      CMAKE_INSTALL_PREFIX に「$HOME/local」 とし、パッケージのパスもそれぞれ
      PYTHON2_PACKAGE_PATH に「lib/python2/dist-packages」、 PYTHON3_PACKAGE_PATH に「lib/python3/dist-packages」に変更しました。 f:id:sarup:20160630211952j:plain f:id:sarup:20160630212001j:plain

    • 設定が終わり、「Generate」ボタンをクリックすると、
      上記で指定した Browse Build に色々生成されてます。 f:id:sarup:20160630213346j:plain

  • 後は普段通りの make の流れで、
    $ make
    $ make install
    とすればインストール完了です。

  • パスが通っていなければパスを通します。 僕は zsh を使っているので .zshenv に PYTHONPATH=$HOME/local/lib/python3:$HOME/local/lib/pyton3/dist-packages; export PYTHONPATH
    を追加しました。

その後、rehash するなり新しい端末立ち上げるなりで
$ python -c "import cv2"
として ImportError が返ってこなければインストールと パスの設定がうまくいってます、おめでとうございます!