gpt4 book ai didi

三星设备上的 Android 相机 API 图像模糊

转载 作者:行者123 更新时间:2023-12-05 07:48:21 24 4
gpt4 key购买 nike

在为 inApp 相机实现 camera2 API 后,我注意到在三星设备上图像显得模糊。在搜索之后,我找到了 Sasmung Camera SDK ( http://developer.samsung.com/galaxy#camera )。因此,在三星 Galaxy S7 上实现 SDK 后,图像现在很好,但在 Galaxy S6 上它们仍然模糊。有人在使用三星设备时遇到过此类问题吗?

编辑:补充@rcsumners 评论。我正在使用

设置自动对焦
mPreviewBuilder.set(SCaptureRequest.CONTROL_AF_TRIGGER, SCaptureRequest.CONTROL_AF_TRIGGER_START);
mSCameraSession.capture(mPreviewBuilder.build(), new SCameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureCompleted(SCameraCaptureSession session, SCaptureRequest request, STotalCaptureResult result) {
isAFTriggered = true;
}
}, mBackgroundHandler);

这是一张长曝光图像,用户必须拍摄静态非移动物体的图像。为此,我正在使用 CONTROL_AF_MODE_MACRO

mCaptureBuilder.set(SCaptureRequest.CONTROL_AF_MODE, SCaptureRequest.CONTROL_AF_MODE_MACRO);

如果可用的话,我也会启用自动闪光

requestBuilder.set(SCaptureRequest.CONTROL_AE_MODE,
SCaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);

我并不是这个 API 的真正专家,我主要遵循 SDK 示例应用程序。

最佳答案

可能有许多问题导致此问题。一个突出的是输出图像的尺寸我运行 Camera2 API,预览很清楚,但输出很模糊

        val characteristics: CameraCharacteristics? = cameraManager.getCameraCharacteristics(cameraId)
val size = characteristics?.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP)?.getOutputSizes(ImageFormat.JPEG) // The issue
val width = imageDimension.width
val height = imageDimension.height
if (size != null) {
width = size[0].width; height = size[0].height
}
val imageReader = ImageReader.newInstance(width, height, ImageFormat.JPEG, 5)

下面的代码返回了一个大约 245*144 的尺寸,这个尺寸对于发送到图像阅读器来说太小了。一些输出如何拉伸(stretch)图像使其最终变得模糊。因此我删除了下面这一行。

val size = characteristics?.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP)?.getOutputSizes(ImageFormat.JPEG) // this was returning a small

手动设置宽度和高度解决了这个问题。

关于三星设备上的 Android 相机 API 图像模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753133/

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