知っている人は知っている、O'Reilly本「Practical Computer Vision with SimpleCV」のタイトルにもなっている SimpleCV ですが、標準のディストリビューションでは OpenCV ver2.3.1(2011年8月リリース)と組み合わせることになっています。流石にこれは古すぎるので、直近の OpenCV ver2.4.10(2014年10月リリース)と組み合わせて正常に動くか試してみました。
置き換え作業 [Windows7の場合]
私のPCには既に SimpleCV をインストール済みだったので、これを元に必要なパッケージだけを更新しました。とは言え、せっかくの機会なので SimpleCV もGitHubの最新のスナップショット(2015年3月現在)に入れ替えました。
作業は至って簡単。
1.SimpleCVの"requirements"に追加された svgwrite を pipを使ってインストールする
pip install svgwrite
2.SimpleCVのスナップショットを付属の setup.py でインストールする
python setup.py intall
3.OpenCV ver2.3.1を削除し、新たにOpenCV ver2.4.10をインストールして、ディレクトリ "OpenCV2.4.10\build\x86\vc10\bin" 辺りをPATHに通す(Pythonのビルド条件に合ったものを選択ね♫)
4.OpenCVに付属の cv2.pyd ("OpenCV2.4.10\build\python\2.7\x86"にある)を Pythonのライブラリ・ディレクトリ"Python\Lib\site-packages"に上書きコピーする。
たったこれだけでした 簡単過ぎ
動作テスト
SimpleCV付属のユニット・テスト一式と「Practical Computer Vision with SimpleCV」のサンプル・コードで動作確認を行いました。
1.ユニット・テストの結果
・OpenCV付属の cv2.pyd(Pythonインターフェイス)がBUGっているようで、FREAK特徴量関連のテストでPythonが御臨終あそばします。
・SimpleCVにも2~3個BUGがありましたが、こちらは只今PULLリクエスト中。
2.サンプル・コードの結果
・丸いもの検出が下写真の通り正しく出来ました。
あとがき
と言うことで、OpenCV ver2.4.10の下でもSimpleCVで遊べそうです。
尤も、ver2.3.1⇒ver2.4.10のバージョンアップで追加になった機能は自助努力でインプリメントですが…