Я хотел бы реализовать оптическое распознавание текста практически в реальном времени в видеопотоке моего приложения. Для этого я бы хотел получить быстрый доступ к данным камеры.
Насколько я могу судить, у меня есть два варианта, и я преодолел блокпосты с обоими:
Сделайте снимок экрана CameraPreview
, поместив вокруг него RepaintBoundary
, создав RenderRepaintBoundary
и вызвав boundary.toImage()
. Проблема этого метода в том, что метод .toImage, кажется, захватывает только нарисованные виджеты на границе, а не данные из предварительного просмотра камеры. Simmilar к вопросу, описанному здесь: https://github.com/flutter/flutter/issues/17687
Захват изображения с помощью controller.takePicture(filePath)
с камеры 0.2.1, аналогично примеру документов. Проблема в том, что изображение становится очень длинным (2-3 секунды). Я предполагаю, что это потому, что файл сохраняется на диск при захвате и затем должен быть снова считан из файла.
Есть ли какой-нибудь способ получить прямой доступ к информации об изображении после захвата, например, для предварительной обработки и распознавания?