Использование Java и BoofCV для обнаружения фигур в файле изображения

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

закрашенный кругнезаполненный треугольник крестыквадрант заполненный квадрат несколько фигурпакет из нескольких фигур

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

Я прохожу курс по ИИ, основанному на знаниях, для решения задач Ravens Progressive Matrix, и в финальном задании будут использоваться строго визуальные изображения вместо текстовых файлов с атрибутами. Мы не оцениваем визуальное оформление, так как у нас есть всего несколько недель, чтобы поработать над этой частью проекта, и нам предлагается поделиться этой информацией. SOF всегда был моим источником информации, и я надеюсь, что у кого-то есть идеи о том, с чего начать...

По сути, я хочу определить формы (?? преобразовать их в 2D-геометрию), а затем сделать некоторые предположения об атрибутах, таких как размер, заливка, размещение и т. д., создать текстовый файл с этими атрибутами, а затем, используя это, отправить его через мой существующий код основан на том, что я написал для других своих проектов для решения проблем.

Какие-либо предложения????


person jbolt    schedule 27.10.2014    source источник


Ответы (1)


Есть много способов сделать это. Один из способов — найти контур фигуры, а затем подогнать к нему многоугольник или овал. Если вы добавите к нему многоугольник и у него 4 стороны почти одинаковой длины, то это квадрат. Контур можно найти с помощью бинарных пятен (моя рекомендация для приведенных выше изображений) или хитрых краев.

http://boofcv.org/index.php?title=Example_Fit_Polygon http://boofcv.org/index.php?title=Example_Fit_Ellipse

person lessthanoptimal    schedule 30.10.2014
comment
Наконец-то у меня появилась возможность проверить пример, и я считаю, что это именно то, что я ищу. - person jbolt; 03.11.2014