質問
は私がCamera2Basicサンプルで行われているものに似た何かをしたい、それは次のようになります。TextureView
を使ってカメラから画像のプレビュープレビューするために使用するカメラ2とProcessカメラデータ
ImageReader
- :
2
に関するいくつかの違いで。それらのサイズは約1000 x 1000ピクセルでなければなりません(最高解像度ではありません)
- 処理するイメージが利用可能な場合、イメージをディスクに保存する代わりに汎用
process(Image)
メソッドが呼び出されます。何このメソッドが行うことは、この質問の範囲外であるが、それは - 画像データは(10 FPSを中心に、しかし速度は重要ではない)を定期的に処理しなければならないを返すために約50ミリ秒かかり代わりに、最終的に
Camera2
APIを使用してこれを行うにはどうすればよいですか?
観察
- Iは小さい寸法と異なるフォーマット(
YUV_420_888
代わりにJPEG
)を選択し、IはImageReader
インスタンスを作成しています方法を変更しました。輝度データを取得するために、Y
プレーンにアクセスします。より効率的なフォーマットがありますか(私は単にU
とV
飛行機を無視しているので)? TextureView
とImageReader
の両方のサーフェスは、定期的に塗りつぶす必要がありますが、速度は異なります。setRepeatingRequest()
を呼び出してCameraRequest
(これはsetRepeatingRequest()
を呼び出して設定することができます)を繰り返すことができるので、手動でcapture()
を呼び出してください(たとえば、setRepeatingRequest()
にプレビューリクエストをして、capture()
を定期的に呼び出してください)。- 再処理された要求を送信してプレビュー画像から処理対象の画像を取得することで、パフォーマンスを改善できますか?もしそうなら、どうしたらいいですか?