Я создал код MATLAB, который находит некоторые фигуры на изображении с помощью функций regionpros
и bwbounaries
.
У меня есть:
STATS = regionprops(L, 'all');
и из STATS
я мог легко найти все свои фигуры Площадь и Периметр. Моя проблема заключается в следующем: я хочу найти «квадратные» формы и делаю для всех фигур следующий расчет 16 * area / (perimeter * perimeter)
, если это значение близко к единице, то я «могу» иметь квадрат. Но и другие формы, такие как круги или прямоугольники, тоже близки к единице. (Также некоторые квадраты могли быть повернуты на изображении).
Есть ли лучший способ различать формы (например, круги, треугольники...)?