2017-01-23 154 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); 

不過,說實話,JPEG_QUALITY的91-100值之間的差異是最小的,你會得到在這個過程中更大的圖像。你可以在這裏查看質量大小之間的曲線: enter image description here

希望它能幫助你!

+0

嗨@Francisco杜丁加西亞。謝謝您的回覆。我已經添加到我的項目中:Size最大= Collections.max(Arrays.asList(map.getOutputSizes(ImageFormat.JPEG)),new CompareSizesByArea()); mImageReader = imageReader.newInstance(largest.getWidth(),largest.getHeight(),ImageFormat.JPEG,/ * maxImages */1);還有:captureBuilder.set(CaptureRequest.JPEG_QUALITY,(byte)100);它可以在Nexus 5X設備上正常工作,但它在Samsung設備上無法正常工作,請注意5.您是否有任何想法如何解決三星設備的這個問題? – Dylan

+0

你的意思是「它不能正常工作」?如果你想要更高的可能的質量,你應該設置你的遊覽imageReader最大大小檢索從CameraMapImageCharacteristics –

+0

ResolutionMap我用這個代碼示例http://stackoverflow.com/a/35289982/4836875縮放後的輸出圖像與相機預覽質量不一樣。可能是縮放代碼本身的問題? – Dylan