我已经制作了一个 TFLITE 模型,并使用 Google 的 ML KIT 从我的移动应用程序访问它。我在尝试将数据转换为输入分类器所需的 byte[1][299][299][3]
格式时遇到了麻烦。
我试图将字节流
排列成该格式,但我不知道它是否提供左右
、上下
、R-G-B等。
任何人都可以向我指出一些我可以阅读的有关解析 .png
文件的文档吗?
最佳答案
您可以使用 BitmapFactory
和 InputStream
将 .png 文件转换为 Android Bitmap
。
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] image = stream.toByteArray();
使用位图,您还可以获得指定位置的像素颜色。不幸的是,颜色以 int
形式返回,您必须将其分解为 RGBA 值。为此,请参阅:https://developer.android.com/reference/android/graphics/Color
关于java - 如何将 .png 图像转换为字节数组 - Android、TFLITE 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52962853/