How can I simplify the polygon?

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 commentaires

Tony Carl
Tony Carl le 27 Avr 2018
Modifié(e) : Tony Carl le 27 Avr 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 le 27 Avr 2018
Modifié(e) : Tony Carl le 27 Avr 2018
The data pack of the polygon.

Connectez-vous pour commenter.

Réponses (1)

Ahmet Cecen
Ahmet Cecen le 27 Avr 2018

0 votes

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

3 commentaires

Tony Carl
Tony Carl le 27 Avr 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 le 27 Avr 2018
You will need to clarify a bit more. Maybe show your actual data etc.
Tony Carl
Tony Carl le 27 Avr 2018
An example figure and its relevant data are appended below the question.

Connectez-vous pour commenter.

Catégories

Question posée :

le 27 Avr 2018

Modifié(e) :

le 27 Avr 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by