如何使用 Camera 2 API Android 提高拍摄图像的质量?
How to increase the quality of captured image using Camera 2 API Android?
我正在使用 google 示例创建 Android 相机应用程序。 phone 拍摄图像后,图像质量会有所不同。相机预览具有比输出图像更好的图像质量。如何提高输出图像的质量?捏缩放后预览图像和输出图像的质量差异甚至增加。这是我的 photo fragment and it's base class。
提高图像质量的唯一方法是将 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 个之间的差异很小,在此过程中您会得到更大的图像。您可以在此处查看 quality-size 之间的曲线:
我正在使用 google 示例创建 Android 相机应用程序。 phone 拍摄图像后,图像质量会有所不同。相机预览具有比输出图像更好的图像质量。如何提高输出图像的质量?捏缩放后预览图像和输出图像的质量差异甚至增加。这是我的 photo fragment and it's base class。
提高图像质量的唯一方法是将 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 个之间的差异很小,在此过程中您会得到更大的图像。您可以在此处查看 quality-size 之间的曲线: