Macでopencv2.frameworkを試す(OpenCV 3.2.0)
XcodeでOpenCVのプログラムを書く場合、従来は"opencv_core.dylib"などのライブラリをインポートしていましたが、version3.xよりiOSと同様に"opencv2.framework"を使うことが出来るようになりました。
OpenCV 3.2.0 で実際に使ってみたいと思います。
手順
1. OpenCVのソースコード入手
2. フレームワークをビルド
3. Xcodeプロジェクトを作成
4. 必要なライブラリをインポート
iOS用のフレームワークは公式サイトよりダウンロード可能ですが、macOSは自分でビルドする必要があります。まずはソースコードを入手します。
ダウンロードしたzipファイルを展開して、適当な作業フォルダに移動させておきましょう。
ビルド自体はとても簡単です。pythonファイルを実行するだけですが、動作に"CMake"が必要なので事前にインストールして下さい。CMakeが使える環境なら、pythonを実行するだけです。
python ./opencv/platforms/osx/build_framework.py [出力ディレクトリ]
実行すると、指定したディレクトリの中に"opencv2.framework"が生成されます。
次にXcodeプロジェクトを作成します。
"Create a new Xcode project"からmacOSの"Command Line Tool"を選択します。Languageは"C++"を選択。
プロジェクトが開いたら、ライブラリの設定を行います。"Linked Frameworks and Libraries"の+ボタンをクリックして"Add Other..."から先ほど生成したopencv2.frameworkを選択します。
opencv2.frameworkの追加が確認できれば、あとは"Build Settings"タブの"Search Paths"にある"Framework Search Paths"を設定すれば完了です。
※この手順を省くとヘッダーファイルのインクルードができませんので、注意して下さい。
しかし、このままだと実行時にエラーが発生するので、追加でライブラリをインポートとする必要があります。確認できた範囲だと、"AppKit.framework"、"OpenCL.framework"、"libcblas.tbd"、"liblapack.tbd"を別途インポートすれば実行可能みたいです。皆さんの環境でもお試しあれ。