Как преобразовать изображение .png в массив байтов - Android, приложение TFLITE - PullRequest
0 голосов
/ 24 октября 2018

Я сделал модель TFLITE и использую ML KIT от Google для доступа к ней из своего мобильного приложения.У меня возникли проблемы с попыткой перевести мои данные в формат byte[1][299][299][3], который мне нужен для подачи в мой классификатор.

Я пытался расположить bytestream в этом формате, но я не знаю, подает ли он left-right, top-bottom, RGB и т. Д.

Может кто-нибудь указать мне накакую документацию я могу прочитать о разборе .png файлов?

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете конвертировать ваш файл .png в Android Bitmap, используя BitmapFactory и InputStream.

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

...