当前位置: 首页 > 知识库问答 >
问题:

为不工作的CameraX设置目标分辨率,如文档中所示

农波涛
2023-03-14

我想使用CameraX库捕获具有固定分辨率(即1200x1600)的照片。

因此,根据文档,我可以为ImageCaptureConfig设置目标分辨率:

val imageCaptureConfig = ImageCaptureConfig.Builder()
    .setLensFacing(CameraX.LensFacing.BACK)
    .setCaptureMode(ImageCapture.CaptureMode.MAX_QUALITY)
    .setTargetResolution(Size(1200, 1600))
    .setTargetAspectRatio(Rational(3,4))
    .build()

文档描述setTargetResolution方法如下:

设置预期的输出目标分辨率。

目标分辨率试图为图像分辨率建立一个最小界限。实际图像分辨率将是尺寸上最接近的可用分辨率,该分辨率不小于目标分辨率,如相机实现所确定的。但是,如果不存在等于或大于目标分辨率的分辨率,则将选择小于目标分辨率的最接近的可用分辨率。

如果我错了,请更正我,但是如果设备能够拍摄大于1200x1600的照片(例如3024x4032),则输出的照片将至少为1200x1600

不幸的是,在许多设备中(例如华为P20 Pro三星A5)输出的照片明显小于1200x1600,例如480x640。请注意,这些设备能够拍摄非常大的照片。

是我的imageCaptureConfig配置错误还是这是一个bug?

共有2个答案

卢权
2023-03-14

android文档是这样说的:

不能在同一用例上同时设置目标纵横比和目标分辨率。这样做会在生成config对象时引发IllegalArgumentException。

所以,决定什么对你来说最重要,并且只选一个。

南宫保臣
2023-03-14

这可能是AOSP最近修复的一个bug。请参阅https://android.googlesource.com/platform/frameworks/support/+/5C1AED8C4C502A74EB4EE6D30FE2089F4AFCAF11

 类似资料:
  • 我试图通过给Camerax的图像分析提供一个480x360的图像来提高人脸检测率。然而,下面的代码生成640x480图像,这将检测减少到10 fps。如果我给出480x360,我可以将速率提高到20。 > 如何获得较小的目标分辨率和分辨率 是否有显示图像分析我得到的图像作为prweview。与预览使用相反。这使得人脸检测总体上不会与预览有很大的滞后。 ImageAnalysis ImageAnal

  • 以上是我为三星S8美国版捕获图像设置的代码,我想使用最大输出分辨率为3264*2448的YUV格式。但是,我得到的结果是1440*1080。我在S9和S8亚洲版上尝试过,代码在两款手机上都可以正常工作。很奇怪,当我将格式设置为JPEG时,它会在这款手机上工作。 我也试过S7和pixel 2,pixel 2可以以支持的最大分辨率输出YUV(不是上面的代码),但S7不能,也会给我1080*1440。

  • 刚刚在Android中创建了一个相机预览,带有以下配置: 现在的问题是,这样的目标分辨率可能不可用,在这种情况下,预览将选择与请求的分辨率接近的分辨率。我在这里要问的是,如何知道预览中有效地选择了哪种分辨率。 提前感谢!

  • TL;博士;如何使用PDFBox生成文档真实性下的“低分辨率”PDF 我正在尝试使用Java创建PDF,并尝试在文档安全性下将printing属性的值设置为低分辨率。 我之所以这么做,是因为我正在开发的应用程序偶然发现了这个chrome bughttps://bugs.chromium.org/p/chromium/issues/detail?id=1307219我试图了解它的哪一部分设置了这样的

  • 我有以下具有内部跨度的div: 和相关CSS: 问题是字体大小是良好的分辨率约640 x 320在横向,但如果我试图设置的分辨率设备,例如1920 x 1080,我总是得到的字体小于640 px分辨率(见下图)。 我应该设置什么以得到相同的尺寸和比例的不同的尺寸? 视口设置为: 车身: 整个模板为: 谢谢你的建议。

  • 好的,这里有一个奇怪的问题,我有问题(用gcc btw编译) 下面是用于命令提示的Mandelbrot分形生成器的源代码。我以前做过这项工作,我想加快自己的测试速度,看看我能以多快的速度生成命令提示符中实际生成Mandelbrot分形所需的代码。我经常这样做是为了给自己找点乐子 不管怎样,我遇到了一个新问题,我不太明白问题是什么。当分形呈现时,无论我设置了多少次迭代或什么转义值,它都将始终显示为椭