Я пытался выполнить анализ формы, чтобы отличить прямоугольные объекты от непрямоугольных объектов (например, полукругов), используя двоичные изображения.
Некоторые возможные примеры
Прямоугольники
Непрямоугольники
Мой алгоритм работает следующим образом:
- Извлеките маску объекта с помощью контуров - openCV (как вы можете видеть в приведенных выше примерах)
- Выполните анализ формы или вычислите статистику, чтобы определить, является ли объект прямоугольным или нет.
До сих пор я пробовал меры эксцентриситета и прямоугольности.
Например: в идеале прямоугольность должна быть высокой только для прямоугольников. В своих экспериментах я иногда получаю подобную прямоугольность для прямоугольного или круглого объекта. Поэтому я не могу использовать эту меру для анализа, потому что она ненадежна.
Та же проблема возникает с эксцентриситетом. В идеале круг имеет нулевой эксцентриситет, а для прямоугольного объекта он должен быть очень высоким. Но оказывается, что для прямоугольников или кругов очень похоже.
Есть ли способ определить, является ли объект примерно прямоугольником или не используя никакой геометрической информации ??
Любая помощь будет действительно оценена