背景
- 環境:macOS 10.13.4 (High Sierra), Xcode 9.4
OpenCV 3.4.1をcontrib(追加モジュール)と一緒にビルドしようといろいろググってみたが、どれ一つとして成功しなかった。
何をやっても変なエラーが取れない、エラーに付き合ってる暇がない人用のハック。
解決法
天才がいた↓
https://medium.com/the-swift-blog/opencv-with-contrib-for-ios-e867c2e30e53
- opencv_contrib/modules/ からお目当てのフォルダをコピー(例えば /dnn_objdetect)
- opencv-3.4.1/modules/ 以下にペースト
- 通常通りビルド python opencv-3.4.1/platforms/ios/build_framework.py ios
この手法のメリット
- シンプル:必要なmoduleを本体側のフォルダにコピーするだけ
- 軽量:不要なモジュールをビルドしなくてよい
- ユニバーサル(多分):今後OpenCVのバージョンが上がっても、contribのバージョンさえ同じなら問題なさそう。多分iOS以外でもイケる?
まとめ
エラーに付き合ってる隙がない忙しいエンジニアのためのOpenCV + contribのビルド方法を紹介しました。