These functions implements the basic snake segmentation contour, as introduced by Kass et al.
A snake is an active (moving) contour, in which the points are attracted by edges and other image boundaries. To keep the contour smooth, a membrane and thin plate energy is used as contour regularization.
All code is well commented, and is probably easy readable. It includes,
- A balloon force, which is not in the original paper
- Binary image segmentation result,
- The "Gradient Vector Flow" (GVF) method.
- 3D implementation, including parameter to keep the mesh from self-intersecting
Try the example in the help of function Snake.m !
- Michael Kass, Andrew Witkin and Demetri TerzoPoulos "Snakes Active Contour Models", 1987
- Jim Invins and John Porril, "Everything you always wanted to know about snakes (but were afraid to ask)
- Chenyang Xu and Jerry L. Prince, "Gradient Vector Flow: A New external force for Snakes
- Christoph Lurig, Leif Kobbelt, Thomas Ertl, "Hierachical solutions for the Deformable Surface Problem in Visualization"
Please report bugs, successes and other comments
Dirk-Jan Kroon (2023). Snake : Active Contour (https://www.mathworks.com/matlabcentral/fileexchange/28149-snake-active-contour), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
3D snake now uses the inverse internal forces matrix
Small, Interpolate Bug Fix
Yuanming Suo reported bugs in scaling of 3D Gaussian and Mu*4. Which are corrected in this version.
Solved 3D GVF bug, and increased 3D speed.
Added parameter to keep the mesh from self-intersecting
Also added a 3D implementation. Change line image force, to Gaussian smoothed line image force.
Added GVF. Changed some minor comment