Android CameraX 预览(取景器)质量不佳

Ask*_*kov 5 camera android preview android-camera android-camerax

我在使用 CameraX 示例应用程序进行预览时遇到问题。预装相机应用程序的预览质量优于 CameraX 示例的预览,照片质量还可以。在示例项目中,触摸焦点也被实现,所以我认为这不是问题。我正在使用此代码来设置预览用例。可能出了什么问题?

private fun buildPreviewUseCase(): Preview {
    val display = viewFinder.display
    val metrics = DisplayMetrics().also { display.getMetrics(it) }
    val preview = Preview.Builder()
            .setTargetRotation(display.rotation)
            .setTargetResolution(Size(metrics.widthPixels, metrics.heightPixels))
            .build()
            .apply {
                previewSurfaceProvider = viewFinder.previewSurfaceProvider
            }
    preview.previewSurfaceProvider = viewFinder.previewSurfaceProvider
    return preview
}
Run Code Online (Sandbox Code Playgroud)

CameraX 示例的预览

在此输入图像描述

预装相机应用程序的预览

在此输入图像描述

Joh*_*ohn 0

我有同样的问题,但是在编译并运行camerax示例应用程序之后

https://github.com/android/camera-samples/tree/main/CameraXBasic

看来质量还可以。我检查了差异,然后...

不知何故,如果未设置 imageCapture UseCase,质量很差..所以,尝试添加

val imageCapture = ImageCapture.Builder()
    .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
    .setTargetAspectRatio(screenAspectRatio)
    .setTargetRotation(rotation)
    .build()
Run Code Online (Sandbox Code Playgroud)

并将其设置到相机中

camera = cameraProvider.bindToLifecycle(
        this, cameraSelector, preview, imageCapture, imageAnalyzer
)
Run Code Online (Sandbox Code Playgroud)