2017-01-23 153 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