Преобразование флаттера CameraImage в файл - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь запустить распознавание лиц и мне нужен поток изображений / файлов с камеры.
Я решил использовать собственную библиотеку камер Flutters camera: 0.2.9+1.
Метод CameraController.startImageStream(Function(CameraImage) onAvailable) выглядит многообещающе, но я могу 'Не могу понять, как преобразовать данные CameraImage во что-нибудь читаемое для распознавания лиц.

Кто-нибудь еще решил эту проблему?

1 Ответ

0 голосов
/ 22 января 2019

CameraImage обычно в формате YUV 420.(Тест cameraImage.format.group для подтверждения.)

Это хорошо работает с Firebase ML, так как это формат, который он ожидает.Полезная демка здесь .Однако другим распознавателям могут потребоваться другие форматы (например, AWS хочет JPEG или PNG).

YUV сложно конвертировать, так как он использует подвыборку цветности.Кроме того, для производительности вы, вероятно, хотите использовать нативный код.На Android есть класс YUVImage , в который вы можете передавать самолеты.У него есть метод для преобразования в JPEG.Создайте плагин или канал метода для передачи плоскостей в YUVImage, сохраните его в ByteArrayOutputStream и верните байты.

...