Автоматически найти на фотографии табличку с номером
На фотографии сделанной с планшета нужно автоматически найти табличку с номером, и потом распознать этот номер. В плане оформления таблички есть полная свобода. Как лучше всего ее оформить, чтобы при разном освещении и независимо от фона фотографии можно было с большой вероятностью(90-95%) ее найти.
На данный момент я сделал простую красную жирную рамочку на белом фоне, с небольшой буферной областью вокруг нее. Проблема в том, что основной критерий для поиска — красный цвет, сильно искажется в зависимости от освещения. Нужно корректировать баланс белого, но автоматическая коррекция работает плохо.
Как бы вы ее оформили, и, какие бы стали применять для ее поиска алгоритмы?
А номера в каком диапазоне будут лежать? Я к тому, что если их немного, то закодировать их какими-нибудь относительно простыми фигурами? Или цветами (какая-то часть карточки при этом должна быть белой, чтобы можно было восстановить баланс белого). Вообще-то это мысли дилетанта, надо бы послушать профессионалов! :)
Диапазон может быть довольно большой, на это не нужно завязываться.
Да и еще, если какая-то часть карточки белая — это, конечно, поможет восстановить баланс белого, но для этого нужно найти эту белую область.
У меня есть идея сделать двойную черную рамку — квадрат, а в нем еще квадрат, все это на белом фоне. И надеяться на то, что на фотографии больше не встретится подобных квадратов в квадрате.
Советую скачать OpenCV и посмотреть примеры. Натолькнёт на мысли.
Я качал EmguCV (http://www.emgu.com/) — это .NET обёртка. Там есть примеры распознавания автомобильных номеров, табличек и текста.
Вкратце — выполняется поиск контуров (цвет не важен). Если фотография ровно сделана (перпендикулярно к листу), то по пропорциям контура можно определить вашу табличку. Если неровно, то можно выправить. Далее удаляем лишнее и распознаем текст внутри.
Посмотрел эти примеры. В частных случаях это, может быть, и не плохо работает. Но в моем случае съемка ведется на улице и вокруг таблички может быть практически что угодно. Получается очень много контрастных областей, вполне вероятно, что будут и такие же квадратные/прямоугольные области.
Да, и контур после canny получается довольно рваным(даже с предварительным устранением шума через медианный фильтр).