Border detection out of regular shape
    2 views (last 30 days)
  
       Show older comments
    
Hi, I have this shape in the plot, but I want to detect the 4 tails sticking out of the square in order to remove them. How could I detect them? I only have a single vector of points (x,y) which are in the plot.  Attached is the variable containing the points.
Thanks!

4 Comments
  Les Beckham
      
 on 8 Apr 2022
				If you attach your data as a mat file using the paperclip (either edit your question or add it in a comment), it will make it easier to help you.
Accepted Answer
  Matt J
      
      
 on 8 Apr 2022
        
      Edited: Matt J
      
      
 on 8 Apr 2022
  
      load data_points
data0=data;
shp=alphaShape(data,0.9);
[~,V]=boundaryFacets(shp);
shp=polyshape(V,'Simplify',true);
for i=[-1,sqrt(2)]
shp=polybuffer(shp,i,'Joint','square');
end
tf=shp.isinterior(data);
data=data(tf,:);
plot(data0(:,1),data0(:,2),'o',data(:,1),data(:,2),'.r'); hold on
3 Comments
More Answers (0)
See Also
Categories
				Find more on Surfaces, Volumes, and Polygons in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!