1

私はiPhoneアプリケーションに取り組んでいます。

次のことを行う必要があります。ユーザーが「カメラ タブ」をクリックすると、カメラが円のオーバーレイでビュー内に開きます。

カメラにフィルタリング アルゴリズムを適用したいと考えています。

これを行うための最良の方法を探しています。役立つライブラリはありますか?

私が現在していること:

  1. OpenCV図書館を利用しています。
  2. タイマーを定義します。
  3. タイマー ティックごとにcvCaptureFromCam()、フレームワークからメソッドを呼び出しますOpenCV (これにより、カメラで画像がキャプチャされ、返されます)。
  4. キャプチャした画像にアルゴリズムを適用します。
  5. 画像をUIImageView

アイデアは、タイマーの目盛りごとに画像を取得し、フィルター処理してUIImageView. タイマーの目盛りが十分に速い場合、連続して表示されます。

ただし、cvCaptureFromCamは少し遅く、このプロセス全体で大量のメモリが消費されます。

より良い方法の提案は大歓迎です。ありがとう

4

1 に答える 1

2

OpenCV などの CPU バウンド処理に基づくものはすべて、現在の iOS デバイスでのライブ ビデオ フィルタリングにはおそらく遅すぎるでしょう。この回答で述べているように、これについては OpenGL ES を検討することを強くお勧めします。

CSmith が述べたように、私はGPUImageと呼ばれるオープン ソース フレームワークを作成して、このスタイルの GPU ベースのフィルタリングを実行し、基盤となる OpenGL ES が関係していることを心配する必要はありません。このフレームワークのフィルターのほとんどは、iOS カメラの 30 FPS フレームレートをはるかに超える 640x480 のライブ ビデオに適用できます。Core Image に存在するすべてのフィルターと、OpenCV のほとんどの画像処理機能を置き換えることを目標に、フィルターを徐々に追加してきました。OpenCV に欠けているものがあれば、プロジェクトの問題ページでお知らせください。

FilterShowcase サンプル アプリケーションをビルドして実行し、利用可能なフィルターの完全なリストとそれらがライブ ビデオ ソースでどのように機能するかを確認し、SimplePhotoFilter サンプルを見て、カメラで撮影したビデオと写真をプレビューするためにこれらのフィルターを適用する方法を確認してください。

于 2012-08-07T20:20:09.440 に答える