相关疑难解决方法(0)

如何将android.media.Image转换为位图对象?

在android中,我从这里获得了一个Image对象https://inducesmile.com/android/android-camera2-api-example-tutorial/这个相机教程.但是我现在想要循环显示像素值,是否有人知道我该怎么做?我是否需要将其转换为其他内容,我该怎么做?

谢谢

android image

17
推荐指数
2
解决办法
2万
查看次数

将ImageProxy转换为位图

因此,我想探索新的Google的Camera API- CameraX。我想做的是每秒从相机提要中获取一张图像,然后将其传递到接受位图的功能中,以进行机器学习。

我阅读了有关Camera XImage Analyzer 的文档:

图像分析用例为您的应用提供了CPU可访问的图像,以执行图像处理,计算机视觉或机器学习推断。该应用程序实现在每个框架上运行的Analyzer方法。

..这基本上是我需要的。因此,我实现了这个图像分析器,如下所示:

imageAnalysis.setAnalyzer { image: ImageProxy, _: Int ->
    viewModel.onAnalyzeImage(image)
}
Run Code Online (Sandbox Code Playgroud)

我得到的是image: ImageProxy。我该如何将其转移ImageProxyBitmap

我试图这样解决:

fun decodeBitmap(image: ImageProxy): Bitmap? {
    val buffer = image.planes[0].buffer
    val bytes = ByteArray(buffer.capacity()).also { buffer.get(it) }
    return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
}
Run Code Online (Sandbox Code Playgroud)

但是它返回null-因为decodeByteArray没有收到有效的(?)位图字节。有任何想法吗?

android android-camerax

6
推荐指数
5
解决办法
1606
查看次数

标签 统计

android ×2

android-camerax ×1

image ×1