MATLAB Answers

How can I simplify the polygon?

6 views (last 30 days)
Tony Carl
Tony Carl on 27 Apr 2018
Edited: Tony Carl on 27 Apr 2018
The polygon above is got after I shrank a rectangle. However, The meaningless branches are not desired. How can I remove them and split it into polygons that are independent to each other?

  2 Comments

Tony Carl
Tony Carl on 27 Apr 2018
For illustration, the data of the polygon and an example figure is shown below, plotted by code:
plot(data(:,1),data(:,2),'bo-');
Tony Carl
Tony Carl on 27 Apr 2018
The data pack of the polygon.

Sign in to comment.

Answers (1)

Ahmet Cecen
Ahmet Cecen on 27 Apr 2018
Well purely speculating, assuming you have a binary image with those lines:
FilledPolygons = imfill(PolygonImage,'holes');
OnlyPolygonsFilled = FilledPolygons - PolygonImage;
OnlyPolygonEdges = edge(OnlyPolygonsFilled);

  3 Comments

Tony Carl
Tony Carl on 27 Apr 2018
Thanks a lot, when converted to an 0-1 image, it can really be much helpful for solving the problem. Is there any way to match the boundary points with the set of points on original polygon? As the algorithm of main body are based on the original data.
Ahmet Cecen
Ahmet Cecen on 27 Apr 2018
You will need to clarify a bit more. Maybe show your actual data etc.
Tony Carl
Tony Carl on 27 Apr 2018
An example figure and its relevant data are appended below the question.

Sign in to comment.

Sign in to answer this question.