7-сегментов распознать

Обсуждение вопросов, связанных с обработкой аудио и видео информации
Ответить
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

7-сегментов распознать

Сообщение Artem.spb »

Подскажите, что не так с этим кодом?
А точнее, с автоматом разбиения на знаки? Если руками выделить один знак, то распознаёт успешно, но вот автоматом определить несколько не могу.
Конечно, в крайнем случае можно и руками зоны задать, но тогда как быть со знаком и разделителем?
vision.png
Вложения
test2.vi
(59.13 КБ) 41 скачивание
S20211006_0011g.jpg
S20211006_0011g2.jpg
S20211006_0014g.jpg
S20211006_0014g2.jpg
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: 7-сегментов распознать

Сообщение dadreamer »

Не приходилось ранее этими инструментами пользоваться. Но в хэлпе для IMAQ Get LCD ROI VI написано:
To find the area of each digit, all of the segments of the seven-segment indicator must be activated.
Т.е., его надо "натаскать" на полностью зажжённый шаблон, чтобы он сгенерировал правильный ROI. Хотя, корректность распознавания можно легко проверить/настроить и без этого :vi: , выделив несколько прямоугольных областей с помощью зажатой Ctrl (порядок выделения областей - от старшей цифры к младшей). До кучи, у меня :labview: падает, когда я задаю сильно большой ROI. Вероятно, VDM не рассчитан на такие разрешения картинок :) Уменьшил в редакторе, вылеты исчезли.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: 7-сегментов распознать

Сообщение Artem.spb »

dadreamer писал(а): 02 мар 2022, 15:13 Не приходилось ранее этими инструментами пользоваться. Но в хэлпе для IMAQ Get LCD ROI VI написано:
Спасибо, утром самому такая мысль в голову пришла, но пока не было времени проверить. Завтра проверю но новых фотках.
Но пока на том, что есть, не пойму, как задавать ROI для знака и запятой.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: 7-сегментов распознать

Сообщение dadreamer »

Artem.spb писал(а): 02 мар 2022, 23:39Но пока на том, что есть, не пойму, как задавать ROI для знака и запятой.
Вроде как его не надо задавать, по кр. мере для запятой. :labview: будет сам пытаться найти точку/запятую после каждой цифры. Правда на картинках из этой темы инструмент чуть ли не рандомно эту точку находит. Чуть сдвинешь ROI или изменишь ширину, и результат получается другим. Возможно, все прямоугольники должны быть одинаковых параметров, вручную сложно их так выставить.

Можно ещё попытать счастья с инструментами из палитры OCR, там всяких разных "ручек" для настройки больше. И шаблоны гибче создаются.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: 7-сегментов распознать

Сообщение Artem.spb »

Поигрался с тестером.
Так и не смог добиться поиска знаков, и пока не понимаю, нужны ли для этого восьмёрки, или дело в качестве фоток. Нули распознавать отказывается.
Похоже, низкие разрешения работают лучше высоких.
На верхнем экране можно задать глобальный ROI, на нижнем, если не сработал автомат - выделить руками.
Вложения
test2.vi
(58.9 КБ) 44 скачивания
img.7z
(332.11 КБ) 44 скачивания
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: 7-сегментов распознать

Сообщение zxc_pavel »

Я руками задал, если шевелится будет, то можно повернуть. Точки тоже находить будет. Еще 1 сегмент и поиск минуса нужно добавить.
0403-1.png
0403-2.png
0403-3.png
0403-4.png
0403-5.png
Код не оптимальный, можно как все зациклить, предварительно создав маски, так и вообще сделать один раз вначале threshold, а маски после.
0403-6.png
Вложения
Mask.vi
(53.75 КБ) 42 скачивания
Recognition_7Segment.vi
(164.34 КБ) 41 скачивание
Threshold.vi
(33.89 КБ) 40 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: 7-сегментов распознать

Сообщение Artem.spb »

zxc_pavel писал(а): 04 мар 2022, 09:35 Я руками задал, если шевелится будет, то можно повернуть. Точки тоже находить будет. Еще 1 сегмент и поиск минуса нужно добавить.
Руками я могу сделать, идея была не собирать велосипед повторно.
Ответить

Вернуться в «Работа с графикой и звуком»