gpt4 book ai didi

android - CameraX Image 拍照慢

转载 作者:行者123 更新时间:2023-12-03 14:54:16 28 4
gpt4 key购买 nike

我正在使用 CameraX

这是我的图像捕获:

 mImageCapture = ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
.setTargetAspectRatio(screenAspectRatio)
.build()

图像捕捉监听器:
mImageCapture.takePicture(
executor!!,
object : ImageCapture.OnImageCapturedCallback() {


override fun onCaptureSuccess(image: ImageProxy) {
Log.d("AAAA", "Success")

val rotatedBitmap = bitmapHelper.rotateImage(
bitmapHelper.imageToBitmap(image = image.image!!),
image.imageInfo.rotationDegrees.toFloat()
)

runOnUiThread {
mImageView.setImageBitmap(rotatedBitmap)
}

}

override fun onError(
imageCaptureError: Int,
message: String,
cause: Throwable?
) {
2
super.onError(imageCaptureError, message, cause)
}
})

当我调用 takePicture应用程序卡住,并且仅在调用 onCaptureSuccess 3-4 秒后

我怎样才能使这个过程更快?

最佳答案

由于压缩为 JPEG,CameraX 拍照速度慢。MINIMIZE_LATENCY_MODE 之间的区别和 MAXIMIZE_QUALITY_MODE是JPEG图像压缩质量。

  private static final byte JPEG_QUALITY_MAXIMIZE_QUALITY_MODE = 100;
private static final byte JPEG_QUALITY_MINIMIZE_LATENCY_MODE = 95;
因此,即使 MINIMIZE_LATENCY_MODE模式设置后,图像质量只会从100下降到95。差别不大。
来自 Version 1.1.0-alpha11 ,API 提供了一个附加功能 setJpegQuality允许自定义压缩质量。可以改善拍照时的延迟。
如果您不在乎最佳图像质量,则可以使用此方法。
 imageCapture = ImageCapture.Builder()
.setJpegQuality(QUALITY_JPEG_75)
.build()

关于android - CameraX Image 拍照慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60351601/

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