Не могу добиться корректного распознавания символов

Ответить
vasss777
interested
interested
Сообщения: 4
Зарегистрирован: 14 апр 2018, 10:58
Версия LabVIEW: 2015

Не могу добиться корректного распознавания символов

Сообщение vasss777 »

Здравствуйте. В примерах нашёл пример распознавания символов (OCR) :vi: , сделал свой словарь из символов, взял цифры от от 0 до 9 разных шрифтов, курсив, жирный и т.п., шаблоны делал с поворотом изображения перпендикулярно ось объектива камеры через каждые 10 градусов, получилось около 590 шаблонов. Прописываю путь словаря в примере, подключаю камеру и в результате цифры распознаются только горизонтально, когда поворачиваю лист с цифрами распознает ошибками. Куда копать или это :labview: не по силам?
zxc_pavel
advanced
advanced
Сообщения: 180
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Re: Не могу добиться корректного распознавания символов

Сообщение zxc_pavel »

А если "крутить" картинку?
Вложения
27l.png
vasss777
interested
interested
Сообщения: 4
Зарегистрирован: 14 апр 2018, 10:58
Версия LabVIEW: 2015

Re: Не могу добиться корректного распознавания символов

Сообщение vasss777 »

Возможно ли разработать алгоритм распознавания текста на :labview: не используя готовые функции распознавания? В интернете порылся, везде все расплывчато и нет конкретики. В книге Визильтера есть два метода но там тоже все поверхностно.

ПС: Зачем? Научник поставил перед фактом со сроком 2 недели :haha:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5107
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 14 раз
Поблагодарили: 27 раз

Re: Не могу добиться корректного распознавания символов

Сообщение IvanLis »

vasss777 писал(а):Научник поставил перед фактом со сроком 2 недели :haha:
Он наверняка с ABBYY "зарубился" на бутылку вискаря, ято у него получится лучше чем FineReader :D .
vasss777 писал(а):Возможно ли разработать алгоритм распознавания текста на :labview: не используя готовые функции распознавания?
Возможно, вопрос в том, сколько лет и миллионов $ Вы готовы потратить.
Начните с основ: https://ru.wikipedia.org/wiki/%D0%9E%D0 ... 0%BE%D0%B2
Изучите уже конкретные реализации, но не ждите, что какая-нибудь корпорация выложит свои секретные разработки.
Можно обратиться к более простым и доступным, например:
https://habr.com/company/smartengines/blog/272607/
https://habr.com/post/172651/
Декомпозируйте задачу и решайте ее постепенно.
zxc_pavel
advanced
advanced
Сообщения: 180
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Re: Не могу добиться корректного распознавания символов

Сообщение zxc_pavel »

Полтора года назад захотел сделать в labview свое распознавание. Находить лицо на потоке с вебкамеры ноутбука. Судя по датам виаек я делал это дня 4 на каникулах, потом настроение пропало. Сделать до конца у меня не получилось, но напишу вкратце логику и проблемы, раз уж тема схожа:)

Нейросеть делать в лабвью не захотелось, ген. алгоритмы тоже, решил забить на скорость и "прочувствовать" вначале медленный алгоритм, но сделать его самостоятельно. Решил сделать градиентный алгоритм (HOG). В первой половине статьи написано о чем, смотрится у девяти пикселей максимальный перепад интенсивности, в общем-то ничего особо умного
https://habr.com/post/306568/
1.png
1.png (12.06 КБ) 2342 просмотра
1. Цветное изображение много весит (долго обрабатывается) - выделял компоненту Value (интенсивность) - 8 бит стало.
1.1. Потом или пробовал лабвьюшные детекторы ставить (мне Собель нравился) или так оставлял. Затем считал у каждого пикселя вектор. Получается матрица цифр 0..9

2. Размерность матрицы получается большая, а в ней надо будет еще лицо искать. Нужно объединять, например, квадратом 5x5 и искать в нем самое частое значение.

3. Ну да, нафоткал себя, обрезал в пэинте лицо и рассчитал матрицы для лиц своих. Размеры масок разные получаются, нужно зная, что лицо постоянно, подобрать для каждой маски свою свертку. Ну и все

4. Ну а потом текущее изображение обрабатывается по 1,1.1, 2 и "по нему водится" шаблон - ища наибольшее совпадение.

Искало довольно долго. Иногда нормально находило, даже доволен был. Но далеко не всегда
1) Освещение сильно влияло, влючал лампу рядом с собой, сбивало.
2) Головой вертишь влево-вправо - плохо
3) Сильно все-таки зависит от расстояния до лица. Не смог корректно с масштабом сделать.
4) Долго считает. Сейчас вот увидел в кусках кода тройной цикл for. По всем маскам, С разными свертками, Поиск внутри матрицы.
5) Еще мелочей много... Понял очевидную вещь, что нужно действительно долго и плотно этим заниматься, чтобы хорошо сделать, решил не продолжать

Но к Вашей задачке могу советовать попробовать такой метод. Особенно, если камеру закрепите, шрифт примерно одинаковый, свет )
Ответить

Вернуться в «Vision / IMAQ»