Mac OS X で OpenCV 3 + Python 2/3 の開発環境を整備する方法をまとめます. 今回この方法で導入テストを行なった環境は以下の通りです.
- OS X 10.10.4 (14E46)
- Homebrew
- Python 2.7.10 / 3.4.3
- NumPy 1.9.2
- OpenCV 3.0.0
Mac OS X + OpenCV 2 + Python 2 での環境構築についてはこちらを参照してください.
Homebrew の導入
これについては多くの方が既に導入されていると思いますので省略します. 詳しくは Homebrew の公式サイトを参照してください.
NumPy は homebrew-python, OpenCV は homebrew-science に Formula があるので, それぞれ tap しておきます.
brew tap homebrew/python brew tap homebrew/science
Python の導入
Homebrew から最新安定版の Python 2.7 / 3.4 をインストールします.
brew install python python3
OS X に入っている Python ではなく, Homebrew でインストールした Python を利用していることを確認します. Homebrew のパッケージを /usr/local 以下 (デフォルト) にインストールしている場合
which python
を実行して,
/usr/local/bin/python
が表示されれば OK です. Python 3 についても同様の方法でチェックできます.
/usr/bin/python
となる場合は PATH
の設定が出来ていない可能性があるため, Homebrew の導入手順を再確認してください.
NumPy の導入
OpenCV の Python バインディングはデータを扱うために NumPy を利用しているため導入します. virtualenv 等は用いずに, 直接インストールしてください. Python 3 でも利用するためには明示的にオプション (--with-python3
) を指定する必要があります.
brew install numpy --with-python3
OpenCV の導入
OpenCV 3 を Homebrew でインストールします. OpenCV 2 とは Formula の名前が変わっています.
brew info opencv3
を実行し, オプションを確認しておきます. 必要なオプションを指定して, 以下のように OpenCV 3 のインストールを実行します.
2017年6月追記: 現在,Python 2 または 3 のどちらかのバインディングしかインストールできなくなっているようです. Python 2 から OpenCV 3 を使いたい場合は,
brew install opencv3 --with-python3
Python 3 から使いたい場合は,
brew install opencv3 --with-python3 --without-python
を実行します. 依存するパッケージのインストールも含め少し時間がかかります.
Python から OpenCV 3 を利用する
1. グローバル環境の Python で OpenCV を利用する
OpenCV 3 の Formula は keg-only なので, /usr/local
以下に自動的にリンクされません. /usr/local
以下にシンボリックリンクを作成するには以下のコマンドを実行します.
brew link opencv3 --force
注意: OpenCV 2 も導入している場合, このコマンドを実行すると OpenCV 2 でインストールしたファイルを上書きしようとしてしまいます. OpenCV 2 を unlink または uninstall するか, OpenCV 3 を virtualenv 内で利用するようにしてください.
2. virtualenv 環境の Python で OpenCV を利用する
virtualenv 内の Python から OpenCV を利用したい場合は, 通常通り仮想環境を作成し, NumPy を仮想環境内に改めてインストールし, OpenCV のモジュールのみ別途シンボリックリンクを作成して利用することができます.
例えば ~/venv
に仮想環境を作成し OpenCV のモジュールを利用出来るようにするには, 以下のようなコマンドを実行してシンボリックリンクを作成します.
# 仮想環境の作成 virtualenv -p /usr/local/bin/python2.7 ~/venv # NumPy のインストール source ~/venv/bin/activate pip install numpy # OpenCV のインストール cd ~/venv/lib/python2.7/site-packages ln -s /usr/local/Cellar/opencv3/3.0.0/lib/python2.7/site-packages/cv2.so ./
Python 3 の場合は以下のようになります.
# 仮想環境の作成 virtualenv -p /usr/local/bin/python3.4 ~/venv # NumPy のインストール source ~/venv/bin/activate pip install numpy # OpenCV のインストール cd ~/venv/lib/python3.4/site-packages ln -s /usr/local/Cellar/opencv3/3.0.0/lib/python3.4/site-packages/cv2.so ./
テスト
OpenCV を Python から使えるようになったかテストします. 以下のように cv2
モジュールを読み込めればインストール完了です.
$ python Python 2.7.10 (default, May 26 2015, 13:01:57) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '3.0.0' >>> $ python Python 3.4.3 (default, Mar 16 2015, 23:47:09) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ ‘3.0.0' >>>
更新履歴
- 2015/9/6 OpenCV インストールのための NumPy の導入手順を修正
- 2016/12/4 typo を修正
- 2017/6/16 OpenCV のインストール手順について追記