0

MPMoviePlayer のサムネイルから CGImage を生成できます。私がやりたいことは、画像にフィルターを適用し、できるだけ早くデバイスに表示することです (おそらく UIImageView で)。

ここでの注意点は、フィルターをビデオのすべてのフレームに適用する必要があることです。これにより、フィルター処理された画像がビデオ ストリームで遅延なくユーザーに表示されます。

現時点では、サムネイルを取得し、フィルターを適用して、UIImageView.image をこのフィルター処理された画像に設定します。フィルターは正常に機能し、画像は表示されますが、アプリは本当に遅れます。これをスピードアップする方法はありますか?

また、CAdisplaylink を使用してみました。これは、複数の UIImages が画面上を一度に飛び回るのを高速化するのに役立ちましたが、この場合は何もしません。どんな助けでも大歓迎です。

ありがとうございました。

4

1 に答える 1

0

BradLarsonsGPUImageフレームワークを使用します。要するに...それは素晴らしいです。

概要は次のとおりです。GPUImageフレームワークはBSDライセンスのiOSライブラリであり、GPUで高速化されたフィルターやその他の効果を画像、ライブカメラビデオ、およびムービーに適用できます。Core Image(iOS 5.0の一部)と比較すると、GPUImageを使用すると、独自のカスタムフィルターを記述でき、iOS 4.0への展開をサポートし、インターフェイスがシンプルになります。ただし、現在、顔検出など、CoreImageのより高度な機能の一部が欠けています。

画像やライブビデオフレームの処理などの超並列操作の場合、GPUにはCPUに比べてパフォーマンスが大幅に向上します。iPhone 4では、単純な画像フィルターは、同等のCPUベースのフィルターよりもGPUでの実行が100倍以上高速になる可能性があります。

これがhttps://github.com/BradLarson/GPUImageリンク で、gitリポジトリへのページ、詳細、および多くのフィルターを使用してライブ処理が行われるサンプルプロジェクトが含まれています。

于 2012-08-16T01:29:13.763 に答える