Mais conteúdo relacionado
Semelhante a OpenCV 3.0 on iOS (20)
Mais de Shuichi Tsutsumi (20)
OpenCV 3.0 on iOS
- 2. • 堤 修一(つつみ しゅういち)
• iOS専業フリーランス
• ブログ『Over&Out その後』
• 著書
『iOS×BLE Core Bluetoothプログラミング』
『iOSアプリ開発 達人のレシピ100』
• WWDC 2015 行きます!
自己紹介
- 12. • iOS 3, 4 時代
- Core Image も vImage もまだなく、@niw さんがビルドした
OpenCV バイナリをみんな使用
- 13. • iOS 3, 4 時代
- Core Image も vImage もまだなく、@niw さんがビルドした
OpenCV バイナリをみんな使用
• iOS 5 時代
- 14. • iOS 3, 4 時代
- Core Image も vImage もまだなく、@niw さんがビルドした
OpenCV バイナリをみんな使用
• iOS 5 時代
- Core Image 登場。顔認識やフィルタ処理がサックリできるよう
になる
- 15. • iOS 3, 4 時代
- Core Image も vImage もまだなく、@niw さんがビルドした
OpenCV バイナリをみんな使用
• iOS 5 時代
- Core Image 登場。顔認識やフィルタ処理がサックリできるよう
になる
- vImage 登場。CPUのベクトルプロセッサを利用して最適化され
た画像処理が可能に
- 16. • iOS 3, 4 時代
- Core Image も vImage もまだなく、@niw さんがビルドした
OpenCV バイナリをみんな使用
• iOS 5 時代
- Core Image 登場。顔認識やフィルタ処理がサックリできるよう
になる
- vImage 登場。CPUのベクトルプロセッサを利用して最適化され
た画像処理が可能に
- GPUImage 登場(2012年2月)。その後iOSにおける画像/動画処
理のデファクトスタンダードOSSに
- 18. • iOS 6, 7
- Core Image や vImage の機能が増強される(CIFilter でいえ
ば、48 種 → 94 種 → ? )
- 19. • iOS 6, 7
- Core Image や vImage の機能が増強される(CIFilter でいえ
ば、48 種 → 94 種 → ? )
• iOS 8
- 20. • iOS 6, 7
- Core Image や vImage の機能が増強される(CIFilter でいえ
ば、48 種 → 94 種 → ? )
• iOS 8
- CIKernel が iOS でも利用できるようになり、自分でシェー
ダを書いてカスタムフィルタを自作可能に
- 21. • iOS 6, 7
- Core Image や vImage の機能が増強される(CIFilter でいえ
ば、48 種 → 94 種 → ? )
• iOS 8
- CIKernel が iOS でも利用できるようになり、自分でシェー
ダを書いてカスタムフィルタを自作可能に
- CIDetector も QRコード検出等の機能追加
- 25. 今となっては iOS では Core Image も vImage も
GPUImage も自作シェーダも使えるけど、
OpenCV もすごくいいですよ
- 26. 今となっては iOS では Core Image も vImage も
GPUImage も自作シェーダも使えるけど、
OpenCV もすごくいいですよ
という話を、最新版 3.0.0 ベースで話します。
- 36. 理由その3:今が熱い
• Release History
- 1.0 2006.10
- 2.0 2009.10
- 2.1 2010.4
- 2.2 2010.12
- 2.3 2011.7
- 2.4 2012.5
- 3.0 RC1 2015.4.24
6年ぶりのメジャーアップデート!
- 79. GPUの利用
• NVidia CUDA ランタイム API を利用して実装されている
→ iOS デバイスには恩恵なし
参考:GPUモジュールの概要説明 — opencv 2.2 documentation
• OpenCV の豊富な機能をOpenGL ES 2.0シェーダで書き
換えて iOS (の GPU で)使いたい、というのが
GPUImage を作った動機らしい
- 80. 並列化技術のサポート
OpenCVがサポートしている並列化技術:
• OpenMP / TBB (Threading Building Blocks)
- iOSには関係なし(?←よくわかってない)
• OpenCL
- Private Framework としてはiOSに入ってるらしい
- が、Privateなので現状では恩恵受けてないはず
• GCD
- 2.4.3以降、一部処理でサポート(by Change Log)
- 82. NEON
• 参考書籍:「iOS SDK Hacks」
- NEONを用いたベクトル演算のサンプル・ベンチマーク
• NEONを用いたアルファブレンディングのサンプル
- https://github.com/Itseez/opencv_for_ios_book_samples/
• CvEffects/CvEffects/Processing_NEON.cpp
• OpenCV 3.0 では NEON による最適化も行われているらしい
open-source NEON optimizations - OpenCV Q&A Forum3.0.0
- 84. OpenCV on iOS
• ひさしぶりのメジャーアップデートで今が熱い
• 他にはない機能が盛りだくさん
• パフォーマンス面では vImage、Core Image、GPUImage
と比較すると不利かも。ただしそれらと併用可能
➡ Core Image や GPUImage にはない高度な/最新の処理
を行いたい場合は OpenCV もあたってみるといいかも
- 85. See also
• OpenCV for iOS で画像の自動補間・修復
• iOS / OpenCV 3.0 で画像の特徴点を検出する(AKAZE, SIFT, SURF, ORB)
• OpenCV for iOS でウォーリーを探すカメラアプリをつくる
• OpenCV 3.0 の拡張モジュール群 opencv_contrib を iOS で利用する
• iOSと機械学習
• 「FILTERS」で学ぶ GLSL
• 【oFセミナーメモ5】映像解析
• 【iOS8】CIKernel を使ったカスタムフィルタのつくりかた
• 「顔以外」のものを画像認識する
• OpenCV for iOSの使い方
• Core Image の遷移エフェクトを使う
• Core Image の全エフェクトを試せるサンプルコードを公開しました
• シャッター音の鳴らないカメラアプリの実装方法
• 『漫画カメラ』風に写真を加工するiPhoneアプリの作り方
• 『第3回 iphone_dev_jp 東京iPhone/Mac勉強会』で vImage について発表してきました