Tensorflow Lite的Android媒体图像到位图转换



我正在获取相机输入,并使用Tensorflow Lite模型进行处理,以检测图像和手势。Tensorflow lite模型以位图作为输入。我正在拍摄安卓媒体图像格式的相机图像。这里我的问题是我正在尝试将媒体图像转换为位图。我发现了以下内容。

val buffer: ByteBuffer = image!!.planes[0].buffer
val bytes = ByteArray(buffer.capacity())
buffer.get(bytes)
val bmp:Bitmap=BitmapFactory.decodeByteArray(bytes, 0, bytes.size, null)

但是转换后的位图始终为null。请引导我走正确的路,我哪里出了问题。提前感谢。

空返回值表示调用BitmapFactory.decodeByteArray时无法解码图像数据。您可以先检查输入内容。

这里有一个链接到另一个关于如何将android.media.image转换为位图的类似问题:如何将android.media.image转化为位图对象?

如果它不起作用,你也可以尝试检查和处理Java错误,这个问题可能会有所帮助我如何跟踪Java异常

最新更新