Использование мобильного распознавания текста для привязки изображения к обнаруженному тексту - PullRequest
2 голосов
/ 05 июня 2019

Я использую распознавание текста (мобильное зрение / ML) от Google для обнаружения текста в канале камеры.Как только я обнаружил текст и убедился, что он равен «HERE WE GO», я рисую форму сердца рядом с обнаруженным текстом, используя пройденные границы.

Проблема, с которой я сталкиваюсь, заключается в том, что фигура прыгает и отстает.Я хочу, чтобы это было больше похоже на привязку к обнаруженному тексту.Есть ли что-то, что я могу сделать, чтобы улучшить это?

Я слышал о библиотеке ArCore, но, похоже, она основана на существующих изображениях для определения привязки, однако в моем случае это может быть любой текст, который соответствует "HERE WE GO",

Есть предложения?

Ответы [ 2 ]

1 голос
/ 14 июня 2019

Вариант 1: См. Образец тензорного потока Android здесь https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android

особенно эти классы: 1. Объектный трекер: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/tracking/ObjectTracker.java

2.Overlay https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/OverlayView.java

3. Активность камеры и фрагмент камеры https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/CameraActivity.java

enter image description here

Вариант 2: Пример кода можно найти в приведенной ниже лаборатории кода. Они делают нечто подобное для штрих-кода.

enter image description here

https://codelabs.developers.google.com/codelabs/barcodes/index.html?index=..%2F..index#0

1 голос
/ 10 июня 2019

Я полагаю, вы пытаетесь наложить текст на предварительный просмотр камеры в режиме реального времени. Между входом и обнаружением камеры будет небольшая задержка. Поскольку API является асинхронным, к тому времени, когда выходные данные вернутся, вы увидите другой кадр. Чтобы облегчить это, вы можете либо синхронизировать обрабатывающую часть с использованием некоторого блокировки / мьютекса, либо наложить другое изображение, которое обновляется только после завершения обработки. У нас есть несколько примеров здесь: https://github.com/firebase/quickstart-android/tree/master/mlkit

а также я исправил аналогичную проблему на iOS с помощью DispatchGroup https://github.com/googlecodelabs/mlkit-ios/blob/master/translate/TranslateDemo/CameraViewController.swift#L245

...