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 Kommentare

Tony Carl
Tony Carl am 27 Apr. 2018
Bearbeitet: Tony Carl am 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 am 27 Apr. 2018
Bearbeitet: Tony Carl am 27 Apr. 2018
The data pack of the polygon.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Ahmet Cecen
Ahmet Cecen am 27 Apr. 2018

0 Stimmen

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

3 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 27 Apr. 2018

Bearbeitet:

am 27 Apr. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by