Geometric shape detection with regionprops
12 views (last 30 days)
Show older comments
Simon Dussault
on 8 Feb 2013
Commented: Ahaana Khurana
on 4 Feb 2020
Hi i want to modified hte code i have to be abble to detect horizontal rectangle and vertical rectangle. Right now, the code i have can detect square circle and triangle real well. So how should i modify the extent and eccentricity for detecting rectangles?
Here's the code :
function [Boxes] = ObjDt(InputImg) %Rajouté BoxesPos
% function determining whether the unknown objects by their geometric shape
% count the number of found objects
Index=1;
% structure to store the coordinates of the outlines of the detected objects
Boxes=struct('Box',[]);
% BoxesCell=struct2cell(Boxes); %Rajouté pour avoir les Coordonnées dans un vecteur
% BoxesPos=cell2mat(BoxesCell); %Rajouté pour avoir les Coordonnées dans un vecteur
for s=1:3
%color filtration
img = double(ColorDt(InputImg,s));
% determine the number of objects in the image
[imgN, num] = bwlabel(img,4);
% obtain the properties of detected objects
f = regionprops(imgN,'BoundingBox','Centroid','Extent','Eccentricity'); %Changer imfeature pour regionprops
%square
for i=1:num
if(f(i).Extent>=0.78) & (f(i).Extent<0.95) & (f(i).Eccentricity<0.9) & (f(i).Eccentricity>=0.2)
Boxes(Index).Box=f(i).BoundingBox;
Index=Index+1;
end
end
%circle
for i=1:num
if(f(i).Extent<0.78) & (f(i).Extent>=0.65) & (f(i).Eccentricity<0.8) & (f(i).Eccentricity>0.3)
Boxes(Index).Box=f(i).BoundingBox;
Index=Index+1;
end
end
%triangle
for i=1:num
if(f(i).Extent>0.3) & (f(i).Extent<0.6) & (f(i).Eccentricity<0.8) & (f(i).Eccentricity>0.2)
Boxes(Index).Box=f(i).BoundingBox;
Index=Index+1;
end
end
end
end
2 Comments
Accepted Answer
Image Analyst
on 8 Feb 2013
No, you don't look at the eccentricity. You can look either at the orientation, or check the width vs. height of the bounding box.
0 Comments
More Answers (1)
Paul
on 22 Feb 2014
Hello,
I am very interested in what you are doing. I have been doing research for undergraduate and would like to know more about your program. Would this program find how many circle objects are in an RGB image? Email : pfon1800@students.vsu.edu Cell : 3017934167
1 Comment
Image Analyst
on 22 Feb 2014
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!