私は、カメラフレームでリアルタイム画像処理を行うアプリケーションに取り組んでいます。そのために、プレビューコールバックのメソッドonPreviewFrame
を使用します。
これは、少なくとも640x480以上の解像度を持つプレビューフレームをサポートするカメラでうまく動作します。しかし、カメラがこのような大きなカメラプレビュー解像度をサポートしていない場合、アプリケーションはそのようなフレームの処理を拒否するようにプログラムされています。今、私が持っている問題はSony Xperia
のような携帯電話にあります。これは解像度1280x720までビデオを録画できる非常に素晴らしいデバイスですが、残念ながら最大のカメラプレビューサイズは480x320で、私のニーズには小さすぎます。Androidビデオフレーム処理
私が知りたいのは、これらを入手する方法です(012808807122まで)larger camera frames
?明らかに、カメラアプリケーションはその解像度でビデオを記録できるため、このアプリケーションは何らかの形でその大きなフレームにアクセスできる必要があるため、可能でなければなりません。私のアプリケーションから同じことをする方法?
アプリケーションはAndroid 2.1以降をサポートしている必要がありますが、問題がAndroid 4.0以降の場合にのみ解決策が見つかったとしても非常にうれしいです。
この質問はhttp://stackoverflow.com/questions/8839109/processing-android-video-frame-by-frame-while-recording
に似ていますが、私はビデオを保存する必要はありません - 私は、これらの高解像度のビデオフレームを必要とする...
は事前にありがとうございました!
'' SurfaceTexture''あります11+あなたはSDKにジャンプすることができる場合カメラのプレビューに使用できます。 OpenGLで画像処理のニーズが十分であれば、SurfaceTextureベースのプレビューで解像度が高いかどうかを確認することができます。 – harism
良い点。私は、Camera.Parameters.getSupportedPreviewSizes()はカメラのみに依存しているが、カメラがプレビューしているサーフェスには依存しないと考えました。私はそれを試みます。 一方、V4L2(VideoForLinux2)インターフェース経由でカメラにアクセスすることは可能ですか?たぶんV4Lでカメラをより良くコントロールできます... – DoDo
まず、カメラオブジェクトに別のプレビューフォーマットを指定しない限り、onPreviewFrameはYUV(NV21)画像を表示します。 この種の形式で作業するためのアンドロイド版SDKのメソッドがないため、お尻の痛みになります。このフォーマットはデフォルトのものなので、すべてのデバイスと100%の互換性が必要な場合は、これを管理する必要があります。 もちろん、画像をより管理しやすい形式に変換することもできますが、これはパフォーマンス面でコストがかかるため、リアルタイム処理が必要な場合は、これが問題になります。 – Mario