gpt4 book ai didi

Android Camera2 API JPEG_QUALITY 不可用

转载 作者:太空宇宙 更新时间:2023-11-03 12:15:34 24 4
gpt4 key购买 nike

我正在尝试使用 android Camera2 API 在我的 Nexus 5x 上工作,我正在使用 googlesamples android-Camera2Basic

我的问题是 JPEG 图像的质量太低,而且它们的尺寸比我用手机相机应用拍摄的常规图像小得多。

根据谷歌文档,在 CaptureRequest 和 CaptureResult 中应该有一个键 JPEG_QUALITY:

JPEG_QUALITY

Added in API level 21

Key JPEG_QUALITY

Compression quality of the final JPEG image.

85-95 is typical usage range.

Range of valid values:

1-100; larger is higher quality

This key is available on all devices.

然而,当我询问可用 key 时,JPEG_QUALITY key 不可用,所以我不知道我当前使用的是什么JPEG 压缩质量以及我如何使用可以改变它。

我在里面做的代码:

CameraCaptureSession.CaptureCallback CaptureCallback
= new CameraCaptureSession.CaptureCallback() {

@Override
public void onCaptureCompleted(@NonNull CameraCaptureSession session,
@NonNull CaptureRequest request,
@NonNull TotalCaptureResult result) {


//_TEST_DEBUG
List<CaptureRequest.Key<?>> requestKeys = request.getKeys();
List<CaptureResult.Key<?>> resultKeys = result.getKeys();

requestKeys 和 resultKeys 有很多键,包括 JPEG_ORIENTATION 但没有 JPEG_QUALITY 键。

知道我做错了什么吗?为什么我找不到如何更改 JPEG 压缩质量?

谢谢,盖伊

最佳答案

我通过在 Android 5.1 Lollipop 上使用 Tesco Hudl 2 Tablet 将它作为 googlesamples android-Camera2Basic 中的 CaptureRequest.Builder 的 key 添加它来提高 JPEG 质量。

JPEG 质量在 Camer2BasicFragment 的 captureStillPicture() 方法中设置,如下所示:

        // This is the CaptureRequest.Builder that we use to take a picture.
final CaptureRequest.Builder captureBuilder =
mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
captureBuilder.addTarget(mImageReader.getSurface());

//Set the JPEG quality here like so
captureBuilder.set(CaptureRequest.JPEG_QUALITY, (byte)90);

希望对您有所帮助。

关于Android Camera2 API JPEG_QUALITY 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37642551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com