2011年12月13日火曜日

iPhoneにおける画像処理

iPhoneにおける画像処理のやり方についてです。
iOS5になってCIImageが導入された事もあり、いくつかの選択肢があります。

例えば、Instagramのような色変換とかブラーならCIFilterを使う事で実現できます。

リアルタイムな処理をしようと思うとAVFoundationを用いて、その中で各フレームごとのバッファを投げてくれるメソッドがデリゲートにあるので、それを用いる事で何かしらの処理が出来ます。
メソッド名:captureOutput:didOutputSampleBuffer:fromConnection:

高速な実装を実現しようと思うと、GLESを使ったGPGPUという選択肢になると思います。
Appleのサンプル、GLCameraRippleはかなり高速に描画できていて驚きました。
サンプルソース

二つ目の方法で、画素単位まで触る事ができるけど実時間でなにかを使用と思うと、
とてもスピードが遅くなってしまいます。
なので、重ための画像処理をしようと思ったらGLESを学ぶしかないのかなー

0 件のコメント:

コメントを投稿