Перейти к содержимому
Compvision.ru

Astor

Пользователи
  • Количество публикаций

    4
  • Зарегистрирован

  • Посещение

  • Days Won

    1

Сообщения, опубликованные пользователем Astor


  1. Что касается поворота, то можно попробовать вычислить преобразование Хафа, и найти максимумы расположенные по угловой координате близко к нулю.

    см. http://www.compvision.ru/forum/index.php?showtopic=927

    И повернуть изображение на найденный угол.

    Ничего не понял, хотя я преобразование Хафа толком не знаю. Знаю только как в OpenCV можно найти линии и круги.

    Но интуиция подсказывает, что все равно повернуть любой знак не получиться.

    Контуры, вероятно, лучше будет анализировать с учетом иерархии. OpenCV-шный детектор контуров может выдавать уровень контура.

    То есть сначала внешний, определяем форму знака, затем анализируем внутренности.

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

    А можно просто выровненное изображение подавать на вход классификатора, правда нужно сначала пропустить его через выравниватель освещенности, что-то вроде retinex-a ( http://www.compvision.ru/forum/index.php?showtopic=818 или whitening-а http://www.compvision.ru/forum/index.php?showtopic=991 ) и, после этого бинаризировать адаптивным методом.

    Я выравниваю каждую цветовую компоненту (RGB) с помощью equalizeHist.

    Не очень понимаю зачем нужно именно бинарное изображение. Сам знак может состоять из не одного цвета.

    • Like 1

  2. Pavia00,

    У вас простой случай достаточно сравнения по шаблону. Или по кускам.

    Такие факторы как изменение освещенности могут сильно влиять на результат корреляции (или как вы еще предлагаете сравнивать по шаблону). При этом нормализация освещенности/контраста не сильно поможет.

    Выровни.

    Есть круглый повернутый знак. Поворачивать на 10 градусов и сравнивать? Не вижу смысла.

    mrgloom,

    Все эти ссылки я видел, гуглить на английском умею (пишу эту работу в свободное от учебы время уже 3 месяц). Просто есть одна загвоздка - хочу написать сам и разобраться с этим, но есть некоторые статьи на английском которые уж очень замудренно написаны, и я банально перестаю понимать о чем пишет автор уже где-то на 2-3 странице хоть и с переводчиком сижу :( Не хватает математики :(

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

    Gielis Curves - это что-то похожее на HuMoments.

    В общем решил разобраться с НС и с помощью этого реалищовать.

    Можете какую-то простую статью (желательно на русском) посоветовать? Или самому искать?

    • Like 1

  3. Всем привет,

    Пишу программу по распознаванию дорожних знаков на видеопотоке.

    Пока что реализовал нахождение треугольных и круглых красных фигур на картинке при разном освещении. Вторым этапом является сравнение полученого знака (хотя это может быть и не знак) с шаблонами. И тут у меня появились проблемы:

    1) Практически все знаки имеют максимум 4 цвета (а в основном их 2), поэтому сопоставление гистограмм не будет давать хорошего результата.

    2) Знаки могут быть перечеркнутыми (как этот: http://ped-kopilka.ru/images/photos/medium/article279.jpg), поэтому сравнение контуров (как при расспознавании букв, цифр) тоже не даст хорошего результата.

    3) Знак, полученный с камеры может быть повернут на какой-то угол, поэтому сравнивать корреляционно тоже нету смысла.

    Как все-таки лучше всего сравнивать знаки? Пока-что пробовал поиграться с SIFT, SURF, FLANN, но результаты уж очень печальные (см. вложение).

    Спасибо заранее за советы.

    post-6123-0-82404400-1353249068_thumb.jp

    • Like 1
×