【发布时间】:2019-07-29 13:30:54
【问题描述】:
我想使用 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。
不幸的是,在许多设备(例如Huawei P20 Pro、Samsung A5)中,输出照片明显小于1200x1600,例如480x640。请注意,这些设备能够拍摄非常大的照片。
是我的ImageCaptureConfig 配置错误还是这是一个错误?
【问题讨论】:
-
这个问题有回归的可能性吗?我们现在在使用 Alcatel 的前置摄像头时看到了这一点,尝试使用 Camera X 设置 720 x 1280 会导致奇怪的较低分辨率,但是与其他非基于 Camera X 的应用程序相同的设备可以使用 720 x 1280 而没有似乎有问题。
-
@FranMarzoa 同样的问题发生在这里。你找到解决办法了吗?
-
@ch271828n 抱歉,很遗憾,我没有。我只需要捕获一帧,因此作为一种解决方法,我使用较低的分辨率进行预览和分析,但最后一帧是使用图像捕获用例拍摄的,它具有更高的分辨率。
标签: android android-jetpack android-camerax