Подскажите, что не так с этим кодом?
А точнее, с автоматом разбиения на знаки? Если руками выделить один знак, то распознаёт успешно, но вот автоматом определить несколько не могу.
Конечно, в крайнем случае можно и руками зоны задать, но тогда как быть со знаком и разделителем?
7-сегментов распознать
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: 7-сегментов распознать
Не приходилось ранее этими инструментами пользоваться. Но в хэлпе для IMAQ Get LCD ROI VI написано:
Т.е., его надо "натаскать" на полностью зажжённый шаблон, чтобы он сгенерировал правильный ROI. Хотя, корректность распознавания можно легко проверить/настроить и без этого , выделив несколько прямоугольных областей с помощью зажатой Ctrl (порядок выделения областей - от старшей цифры к младшей). До кучи, у меня падает, когда я задаю сильно большой ROI. Вероятно, VDM не рассчитан на такие разрешения картинок :) Уменьшил в редакторе, вылеты исчезли.To find the area of each digit, all of the segments of the seven-segment indicator must be activated.
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: 7-сегментов распознать
Спасибо, утром самому такая мысль в голову пришла, но пока не было времени проверить. Завтра проверю но новых фотках.
Но пока на том, что есть, не пойму, как задавать ROI для знака и запятой.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: 7-сегментов распознать
Вроде как его не надо задавать, по кр. мере для запятой. будет сам пытаться найти точку/запятую после каждой цифры. Правда на картинках из этой темы инструмент чуть ли не рандомно эту точку находит. Чуть сдвинешь ROI или изменишь ширину, и результат получается другим. Возможно, все прямоугольники должны быть одинаковых параметров, вручную сложно их так выставить.
Можно ещё попытать счастья с инструментами из палитры OCR, там всяких разных "ручек" для настройки больше. И шаблоны гибче создаются.
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: 7-сегментов распознать
Поигрался с тестером.
Так и не смог добиться поиска знаков, и пока не понимаю, нужны ли для этого восьмёрки, или дело в качестве фоток. Нули распознавать отказывается.
Похоже, низкие разрешения работают лучше высоких.
На верхнем экране можно задать глобальный ROI, на нижнем, если не сработал автомат - выделить руками.
Так и не смог добиться поиска знаков, и пока не понимаю, нужны ли для этого восьмёрки, или дело в качестве фоток. Нули распознавать отказывается.
Похоже, низкие разрешения работают лучше высоких.
На верхнем экране можно задать глобальный ROI, на нижнем, если не сработал автомат - выделить руками.
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: 7-сегментов распознать
Я руками задал, если шевелится будет, то можно повернуть. Точки тоже находить будет. Еще 1 сегмент и поиск минуса нужно добавить.
Код не оптимальный, можно как все зациклить, предварительно создав маски, так и вообще сделать один раз вначале threshold, а маски после.
Код не оптимальный, можно как все зациклить, предварительно создав маски, так и вообще сделать один раз вначале threshold, а маски после.
- Вложения
-
- Mask.vi
- (53.75 КБ) 42 скачивания
-
- Recognition_7Segment.vi
- (164.34 КБ) 41 скачивание
-
- Threshold.vi
- (33.89 КБ) 40 скачиваний
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация: