Simplify a 2D closed contour/polygon to within user-defined boundary offset tolerance
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Editor's Note: This file was selected as MATLAB Central Pick of the Week
Decimate 2D contours/polygons
Have you ever worked with 2D boundary shape representations and noticed that the same shape can be represented with reasonable accuracy by a much smaller number of points? Did you ever need to reduce the complexity of a 2D shape while retaining as many salient features as possible? If so then DecimatePoly.m is the function you have been looking for.
Quick Demos
DecimatePoly_demo1: Simplify a 2D contour extracted from a binary image. Three binary images are included as examples. This demo requires Image Processing Toolbox to run.
DecimatePoly_demo2: Simplifying complex shapes while retaining geometrically and visually salient features.
DecimatePoly_demo3: Use DecimatePoly.m to improve the run-time of in-polygon tests at the cost of minor misclassification errors.
Get Python version here
DecimatePoly.m was selected as Matlab Pick of the Week
License
MIT © 2019 Anton Semechko a.semechko@gmail.com
Cite As
Anton Semechko (2026). DecimatePoly (https://github.com/AntonSemechko/DecimatePoly), GitHub. Retrieved .
Acknowledgements
Inspired: MatClust
General Information
- Version 1.2.1.1 (28.7 KB)
-
View License on GitHub
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
Versions that use the GitHub default branch cannot be downloaded
