Hi All,
Bounding box gives the smallest possible rectangle / cuboid that fits the given shape, and would support n dimensions. [x_cordinate,y_cordinate,z_cordinate,....nth_cordinate,x_width,y_width,z_width.....nth_width] in this 2 D image, we have bounding box defined for each shapes as [x_cordinate,y_cordinate,x_width,y_width]
Extent gives the ratio of area of the bounding box to area of the region. For squares and rectangles, as the bounding box matches the shape, extent = 1. For circles and ellipses, the ratio of area of region to bounding box is always a constant = pi/4, [ (pi * a * b) / (2*x * 2 * y) is extent of circular region, for circle, a = b = x =y, for ellipse, a=x and b =y ]
So
(1)for Circles, we have x_width = y_width,extent = pi/4
(2)for squares, we have x_width = y_width,extent =1,
(3)for rectangles, we have x_width != y_width,extent =1
(4)For ellipse, we have we have x_width != y_width,extent = pi/4
Reference:-
https://www.mathworks.com/help/images/ref/regionprops.html
the below code has been tested and it works
for i = 1 : length(STATS)
centroid = STATS(i).Centroid;
if((STATS(i).BoundingBox(3)~=STATS(i).BoundingBox(4)) && (STATS(i).Extent<1))
plot(centroid(1),centroid(2),'w+');
text(centroid(1),centroid(2),num2str(i),'Color','y');
end
if((STATS(i).BoundingBox(3)==STATS(i).BoundingBox(4)) && (STATS(i).Extent==1))
plot(centroid(1),centroid(2),'wS');
text(centroid(1),centroid(2),num2str(i),'Color','y');
end
if((STATS(i).BoundingBox(3)==STATS(i).BoundingBox(4)) && (STATS(i).Extent > 0.76 && STATS(i).Extent < .795))
plot(centroid(1),centroid(2),'wO');
text(centroid(1),centroid(2),num2str(i),'Color','y');
end
if((STATS(i).BoundingBox(3)~=STATS(i).BoundingBox(4)) && (STATS(i).Extent==1))
plot(centroid(1),centroid(2),'wX');
text(centroid(1),centroid(2),num2str(i),'Color','y');
end
if((STATS(i).BoundingBox(3)~=STATS(i).BoundingBox(4)) && (STATS(i).Extent > 0.76 && STATS(i).Extent < .795))
plot(centroid(1),centroid(2),'w*');
text(centroid(1),centroid(2),num2str(i),'Color','y');
end
end
Hope this helps..
0 Comments
Sign in to comment.