2017-01-23 26 views
3

私はGoogleのサンプルを使用してAndroidのカメラアプリを作成しています。電話機がイメージをキャプチャした後、画質の違いがあります。カメラのプレビューは、出力画像よりも優れた画質です。どうすれば出力画像の品質を上げることができますか?ピンチズーム後、プレビュー画像と出力画像の画質の差がさらに大きくなります。これは私のphotoフラグメントで、それはbaseクラスです。Camera 2 API Androidを使用してキャプチャされた画像の品質を向上させるには?

+2

コードにリンクしないでください。ここに投稿してください。 –

答えて

4

あなたは画質が最大の解像度にごImageReaderSizeが増加して増加しなければならない唯一の方法:また

mImageReader = ImageReader.newInstance(pictureSizeValue.getWidth(), pictureSizeValue.getHeight(), format, maxImages); 

、あなたはCaptureRequestの重要CaptureRequest.JPEG_QUALITYを使用して品質を向上させることができます。

mCaptureRequestBuilder.set(CaptureRequest.JPEG_QUALITY, (byte) 100); 

しかし、正直に言うと、91-100 JPEG_QUALITYの値の差が最小限であり、そしてあなたは、プロセスに大きな画像を取得します。あなたはここで質の大きさの間の曲線を確認することができます: enter image description here

あなたが助けてくれることを願っています!

+0

こんにちは@Francisco Durdin Garcia。ご返信ありがとうございます。私はすでに自分のプロジェクトに追加しています。サイズが最大= Collections.max(Arrays.asList(map.getOutputSizes(ImageFormat.JPEG))、新しいCompareSizesByArea()); mImageReader = imageReader.newInstance(largest.getWidth()、largest.getHeight()、ImageFormat.JPEG、/ * maxImages */1);また、captureBuilder.set(CaptureRequest.JPEG_QUALITY、(byte)100); Nexus 5Xデバイスで正常に動作しますが、ノート5としてSamsungデバイスで正常に動作していません。Samsungデバイスでこの問題を解決する方法はありますか? – Dylan

+0

"それはうまく動作しません"とはどういう意味ですか?あなたがより高い可能性を望むなら、あなたはツアーを設定する必要がありますimageReaderツアーから取得された最大サイズ –

+0

ピンチズームの場合このコード例を使用しましたhttp://stackoverflow.com/a/35289982/4836875ズーム後の出力イメージカメラプレビューと同じ品質ではありません。ズームコード自体に問題はありますか? – Dylan

関連する問題