画像処理における、UIImageとCGImageとCIImageの効果的な使い分け by 栗山徹

iOSDC Japan 2019
採択
2019/09/06 14:20〜
Track A
レギュラートーク(30分)

画像処理における、UIImageとCGImageとCIImageの効果的な使い分け

kotetu 栗山徹 kotetu

UIImage、CGImage、そしてCIImageは、いずれも画像情報を保持するためのクラス(以下、画像クラス)ですが、皆さんはこの3つのクラスの特徴を理解して使っていますか?

Web APIで取得した画像を縮小して表示できればよい、といった単純な要件であれば、何も考えずにUIImageを使うだけでも済みますが、リアルタイム処理や複雑な画像処理などのより高度な要件においては、特徴を知らずに使ってしまうと余計な処理を書いてしまって最悪性能低下を招くことになってしまいます。

本セッションでは、UIImage / CGImage / CIImageの各画像クラスの特徴を解説しながら、これら3つのクラスの画像処理における使いどころについてご紹介します。

また、OpenCVなどの画像処理ライブラリとの連携を考慮した画像クラスの使い方や、私が業務で実際に画像処理の性能改善に成功したエピソードもご紹介します。

本セッションが普段何気なく使っている画像クラスについて改めて考えるきっかけとなれば幸いです。

  • 発表内容アジェンダ
    1. UIImageとCGImageとCIImageの概要や特徴
    2. 特徴を踏まえた各画像クラスの使いどころ
    3. OpenCVなどの画像処理ライブラリとの連携を踏まえた画像クラスの使い分け
    4. 業務で実装したリアルタイム画像処理の処理性能を改善した体験談