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