This function ISOCONTOUR computes the isocontour geometry for a certain 2D image and isovalue. To Extract the isocontour geometry it uses Marching Squares and linear interpolation. Followed by sorting the contour geometry into separate contour-objects.
This function is the 2D equivalent of Isosurface extraction using Marching Cubes in 3D.
[Lines,Vertices,Objects]=isocontour(I,isovalue);
inputs,
I : An 2D image (grey-scale)
isovalue : The Iso-value of the contour
outputs,
Lines : An array describing all the Line-pieces of the isocontour
geomtery, with a N x 2 index list of vertices
Vertices : Vertices (Corners) of the lines M x 2 list of X,Y
coordinates
Objects : A 1 x K cell array with in every cell a list of indices
corresponding to one connect isocontour. If the isocontour
is closed then the last index value is equal to first index
value.
Could you give an example of how to extract the indices for the pixels that a given contour passes through? I have been struggling to get this to work myself. Thank you for submitting this to the FileExchange.