hirax.net::inside out::2010年12月24日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2010年11月 を読む << 2010年12月 を読む >> 2011年1月 を読む

2010-12-24[n年前へ]

iPhone リアルタイム動画像処理コーディング 

 自分が欲しいと思えるデジタルカメラが欲しくて、iPhoneプログラミングの勉強がてらiPhoneで動画像処理を行うプログラムのスケルトンを作ってみました。そんな「1.カメラ映像→(電子ズーム使用時は解像度変換)→2.OpenCVを使った画像処理→3.処理動画保存→4.画面描画」という処理を行わせるコードを書くときにメモしたことを、忘れないように書いておきます。

 特に時間のかかる画像処理を行うのでなければ、AVCaptureSessionPreset640x480、つまり、VGA(640x480)の撮影でも15FPS弱で処理をさせることができます。それを逆に言えば、iPhone4では、リアルタイムVGA動画処理&ファイル保存を15FPSで処理しようと思うと「機械の気持ちにならないとダメ」という感触です(動画保存処理を同時にさせるのでなければ、処理落ちはしないと思います)。

 何より一番処理に時間がかかるのは、「3.処理動画保存」の部分でした。この部分は「コードを変えることで処理速度を改善させる」ということがなかなかできないようなので(速く処理を行わせる方法があれば知りたいです)、もしも処理動画をスムースに保存させようと思うなら、それ以外の部分を「機械の気持ち」に沿って地道なダイエットをしないといけないように思われます。

 「2.画像処理」部分(とその前段)で「電子ズーム+色変換」を実装&動画保存させてみたのが、下の動画になります(撮影された動画を眺めてみると、「解像度変換・切り出し」における”中央部での丸め処理”が上手くないようですね)。「機械の気持ち」がわかり、自然に話すことができるようになるまでには、まだまだずいぶんと距離がありそうです。



 (「テストチャート」のページを映し出しているコンピュータ画面を撮影した動画です)