Здравствуйте,
Нужно распознать геометрические фигуры на изображении: круг, овал, капля, сердце, прямоугольник.
Есть изображение, на котором несколько десятков фигур.
Я пытался написать алгоритм с помощью OpenCV.
Я представляю работу алгоритма так:
1) Программа выделяет контуры
2) Разбивает изображение на сегменты с фигурой в каждом
3) Заново определяем контуры в каждом сегменте
4) Определяет момент каждой фигуры и сравнивает с моментами эталонов (определяем какая это геометрическая фигура)
5) Находим площадь фигуры в пикселях (т.о. находим размеры)
6) Находим центр фигуры и определяем усредненное значение цвета соседних пикселей
7) Создаем файл с данными каждой фигуры (геометрическая фигура, размеры, цвет)
В связи с этим у меня следующие вопросы:
1) Как выделить части(сегменты) вокруг фигур
2) Программа выделяет контуры на изображении, сравнивает момент с моментами эталонов и выводит найденный контур на экран. А как понять,
какая фигура распознана (использую этот код: robocraft.ru/blog/computervision/867.html)?
Сложности добавляет то, что на изображении присутствуют блики и цвет фигур неоднородный (фон белый, а фигуры от черного до светло-голубого цвета).
Пожалуйста, напишите какие функции нужно использовать.
Гуглом пользоваться умею, поискать смогу.