roboforum.ru

Технический форум по робототехнике.

Алгоритм распознавания простых геометрических фигур

Автомат, адаптивный автомат ... разум

Алгоритм распознавания простых геометрических фигур

Сообщение nikolai44 » 09 дек 2013, 19:06

Здравствуйте,
Нужно распознать геометрические фигуры на изображении: круг, овал, капля, сердце, прямоугольник.
Есть изображение, на котором несколько десятков фигур.
Я пытался написать алгоритм с помощью OpenCV.

Я представляю работу алгоритма так:
1) Программа выделяет контуры
2) Разбивает изображение на сегменты с фигурой в каждом
3) Заново определяем контуры в каждом сегменте
4) Определяет момент каждой фигуры и сравнивает с моментами эталонов (определяем какая это геометрическая фигура)
5) Находим площадь фигуры в пикселях (т.о. находим размеры)
6) Находим центр фигуры и определяем усредненное значение цвета соседних пикселей
7) Создаем файл с данными каждой фигуры (геометрическая фигура, размеры, цвет)

В связи с этим у меня следующие вопросы:
1) Как выделить части(сегменты) вокруг фигур
2) Программа выделяет контуры на изображении, сравнивает момент с моментами эталонов и выводит найденный контур на экран. А как понять,
какая фигура распознана (использую этот код: robocraft.ru/blog/computervision/867.html)?

Сложности добавляет то, что на изображении присутствуют блики и цвет фигур неоднородный (фон белый, а фигуры от черного до светло-голубого цвета).
Пожалуйста, напишите какие функции нужно использовать.
Гуглом пользоваться умею, поискать смогу.
nikolai44
 
Сообщения: 2
Зарегистрирован: 09 дек 2013, 17:58

Re: Алгоритм распознавания простых геометрических фигур

Сообщение =DeaD= » 09 дек 2013, 19:22

Примеры картинок дайте, на которых нужно провести распознавание. По распознаванию квадратов и кругов вроде даже в сэмплах есть.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Алгоритм распознавания простых геометрических фигур

Сообщение nikolai44 » 09 дек 2013, 19:47

Изображение
Для простоты на данный момент я стер внутреннюю заливку.
Я рассматривал программу, выделяющую круги, она не совсем верно определяет их.
nikolai44
 
Сообщения: 2
Зарегистрирован: 09 дек 2013, 17:58

Re: Алгоритм распознавания простых геометрических фигур

Сообщение TimkaTV » 13 ноя 2014, 20:35

Если необходимо выделить контур фигур, то можно попробовать маску Лапласиана (Можно почитать у Гонсалеса)
Перед этим можно и контраст увеличить.
TimkaTV
 
Сообщения: 1
Зарегистрирован: 13 ноя 2014, 20:26


Вернуться в Алгоритмы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5