モーション検出とビデオ録画を行う Android アプリケーションがあります。下位互換性を提供するために、Camera API と Camera2 API の両方をサポートしています。モーション検出を行うために、Camera2 API で ImageReader を使用しています。現在、非常に遅い JPEG 形式の画像をリクエストしています。YUV 画像をリクエストした方が速いということはわかりましたが、使用しているデバイスによって YUV 形式が異なるというのは本当ですか? これを最適化することをあきらめる前に確認したかっただけです。
質問する
3840 次
2 に答える
2
古いカメラ API (API 12 以降) では、すべてのデバイスが NV21 および YV12 形式をサポートし、camera2 では、すべてのデバイスが YUV_420_888 をサポートします。
YUV_420_888は柔軟な YUV 形式であるため、基になる複数の形式 (NV21 および YV12 を含む) を表すことができます。そのため、ImageReader からのイメージのピクセルと行のストライドをチェックして、データの 3 つのプレーンを正しく読み取っていることを確認する必要があります。
フル フレーム レートが必要な場合は、YUV で作業する必要があります。JPEG には多くのエンコード オーバーヘッドがあり、通常は 2 ~ 10 fps より速く実行されませんが、YUV は少なくともプレビュー解像度で 30 fps で実行されます。
于 2016-08-31T20:57:57.217 に答える