Лента Мой малыш
Городские форумы
Автофорумы
Халявный
Домоводство
Проф. и бизнес форумы
Строительные форумы
Технофорумы
Собачий форум
Велофорумы Нижнего Новгорода
Наши дети
Туризм, отдых, экстрим Творческий
Путешествия Спортивные форумы
Нижегородская область Недвижимость
Форумы по интересам
Частные форумы Форумы домов Жилые районы
Отзывы и предложения (техподдержка)
Реклама на NN.RU
+7 (831) 261-37-60
Техподдержка Полная версия

Как распознать изображение с веб - камеры

Добрый вечер
Посоветуйте, чем / как распознавать изображение с вебки.
Она смотрит на 2 светодиодных табло с цифрами (температура), раз в минуту делается снимок, к сожалению, разрешение максимально 640 на 480.
Периодически ее могут сдвигать и устанавливать обратно на место, но жестко закрепить, к сожалению, сложно.
0
Ответить
А подключиться к светодиодным индикаторам не судьба?
0
Ответить
Приблизьте камеру чтобы числа были крупнее.

Потом для каждого пикселя проверьте красный он или нет R > 2*(G+B).

Следом найдите два баундинг бокса (для первого и второго числа). Другими словами найдите положение прямоугольников заданного размера, в которых заполненность красным максимальная.

После этого есть три варианта:

1) вырезаете изображение из найденного прямоугольника и подаете в Google Tesseract - возможно распознает, посмотрите там обучены разные наборы символов, подберите наиболее похожий.

2) обучите HOG каскады из OpenCV для распознавания каждой цифры (0 1 2 3 4 5 6 7 8 9) и применяйте их

3) примените cvFindContours после красных фильтров, получите список элементов (черточки в вашем случае) и объединяйте их в цифры и числа
0
Ответить
Взгляните в сторону Sikuli www.sikuli.org/
0
Ответить
Чубик Зазнайка писал(а)
обучите HOG каскады из OpenCV для распознавания каждой цифры (0 1 2 3 4 5 6 7 8 9) и применяйте их

не надо тут математики!
после нахождения bounding boxes задача сводится к тупому по-позиционному сравнению "векторов".
математики там 0.
кстати так можно даже рукописный текст, но в стиле "печатными буквами" по 1 букве распознавать, причём даже на хиленьком МК, а не на компе.

короче, ТС надо вот это тупо применить: ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%A5%D1%8D%D0%BC%D0%BC%D0%B8%D0%BD%D0%B3%D0%B0

вот пример реализации:
citforum.ru/programming/delphi/recognition_2/
всё разжёвано в мелочах.

вот ещё пример:
habrahabr.ru/post/101446/ - Распознавание цифр с помощью простейшей статистики и анализа топологии
0
Ответить
Для предложенного тобой метода нужен точный баундингбокс для каждой цифры (символа) и точный контур каждого штриха.

На практике красными скорее всего окажутся не только пиксели соответствующие штрихам но и разные пиксели вокруг.

Это значит что баундингбокс будет найден то левее, то правее, то выше, то ниже, то больше, то меньше. А отдельных баундингбоксов для каждой цифры может быть вообще не будет. А штрихи будут слипаться через кадр.

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

Либо как ты выразился применить математику, например каскад.
0
Ответить
Я, конечно, не спец по CV, но не кажется ли логичным найти границы всего индикатора (черное на сером), а потом, зная, относительные размеры и относительную позицию каждого семисегментника, находить границы цифр? Я так понял, что фигня должна быть заточена все-таки под конкретный девайс, который снимается почти всегда "анфас" и не сильно грязный.
0
Ответить
да фиг знает, может быть и так

я бы для этого смотрел на фотографии снятые их камерой в их условиях

может там свет то ярче то тусклее и граница черного с серым то видна, то нет

может там блики на стекле часто бывают, которые будут мешать
0
Ответить
хотя светло-серая рамка индикатора действительно контрастна с остальным светлым корпусом

можно ее искать как вариант, если ракурс съемки более менее стабилен и мы можем ожидать что она не превращается совсем в ромб
0
Ответить
Ну, предполагая такие непонятки - не факт, что и ваш подход сработает. Скажу даже более - не факт, что и человек распознает. :-)
0
Ответить
конечно не факт :) гарантии как известно - только в сберегательной кассе
0
Ответить
Если превратится в ромб, при разрешении 640x480, я полагаю, задачу в принципе решать бесполезно - в "узком" месте ромба тупо сольются сегменты.
0
Ответить
конечно

тут новый вопрос возникает:  что должна делать система распознавания когда не может распознать или когда ромбовидность заставляет сомневаться в качестве результата

хотя я бы не стал связываться все же с поиском этих фрагментов

посадил бы студента нарезать цифр из фотографий заказчика и обучил бы HOG каскад

и потом бы применял его. вообще без поиска чего либо, баундинг боксов там или еще чего. если найдет 6 цифр сгруппированых по три - гут, нет - значит данных нет, поправьте камеру
0
Ответить
alxumuk2 писал(а)
Я, конечно, не спец по CV, но не кажется ли логичным найти границы всего индикатора (черное на сером), а потом, зная, относительные размеры и относительную позицию каждого семисегментника, находить границы цифр?

вот именно.
тем более тут задача под конкретный девайс "заточена" похоже.
0
Ответить
советую вот это почитать: homepages.inf.ed.ac.uk/rbf/HIPR2/wksheets.htm
тут много полезного и главное всё простым языком, без заумных формул :)
0
Ответить
Вы не можете отвечать в этой теме.
Вы не авторизованы на сайте. Авторизоваться или зарегистрироваться на сайте.