Geometric shape detection with regionprops
    7 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
採用された回答
  Image Analyst
      
      
 2013 年 2 月 8 日
        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 件のコメント
その他の回答 (1 件)
  Paul
 2014 年 2 月 22 日
        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 件のコメント
  Image Analyst
      
      
 2014 年 2 月 22 日
				参考
カテゴリ
				Help Center および File Exchange で Coordinate Systems についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




