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 comentarios

Tony Carl
Tony Carl el 27 de Abr. de 2018
Editada: Tony Carl el 27 de Abr. de 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 el 27 de Abr. de 2018
Editada: Tony Carl el 27 de Abr. de 2018
The data pack of the polygon.

Iniciar sesión para comentar.

Respuestas (1)

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

3 comentarios

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

Iniciar sesión para comentar.

Categorías

Preguntada:

el 27 de Abr. de 2018

Editada:

el 27 de Abr. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by