gpt4 book ai didi

android - 我们如何使用 CameraX 获取预览帧?

转载 作者:行者123 更新时间:2023-11-29 18:27:27 26 4
gpt4 key购买 nike

我正在开发一个项目,该项目使用 CameraX 在 TextureView 上显示相机预览。代码来自这个 codelab .我使用了 setOnPreviewOutputUpdateListener() 方法来更新 TextureView

private fun startCamera() {
val previewConfig = PreviewConfig.Builder().apply {
setTargetAspectRatio( Rational( 1 , 1 ) )
setTargetResolution( Size( 640 , 640 ) )
}.build()
val preview = Preview( previewConfig )
preview.setOnPreviewOutputUpdateListener {
val parent = cameraTextureView?.parent as ViewGroup
parent.removeView( cameraTextureView )
cameraTextureView?.surfaceTexture = it.surfaceTexture
parent.addView( cameraTextureView , 0)
updateTransform()
}
preview.removePreviewOutputListener()
CameraX.bindToLifecycle( this , preview )
}

我的问题是如何使用 CameraX 从预览帧中获取原始 byte[] 对象。我期待类似于 onPreviewFrame(byte[] data, Camera camera) 方法的东西。

Basically, I want the realtime frames ( in byte[] or Bitmap ) from the preview using CameraX.

最佳答案

您将使用 ImageAnalysis .预览帧将以 YUV_420_888 格式传递给您的分析器。

如有必要,您可以请求非阻塞分析模式。我建议为您的分析器设置一个处理程序,这样相机回调就不会到达 UI 线程。

关于android - 我们如何使用 CameraX 获取预览帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58082901/

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