File Exchange

image thumbnail

Isocontour

version 1.1 (3.15 KB) by

Find ISO-contour geometry in a 2D image using marching-squares, and sort the contour objects

26 Downloads

Updated

View License

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.

Comments and Ratings (9)

Jack Chen

Hello,what do you mean by saying "base-edges"?

Chris Loizou

Can you add the paper with I have to cite when I use this method. Thank you very much

Zeyu Wang

Very useful! I cannot find the paper to cite, so I put you into acknowledgment. Cheers.

Hiroyuki Goto

Very useful and easy to use!
But I think the last segment (point) lacks if a contour is open. Should lines 121 and 123-125 be commented out?

Feten

Feten (view profile)

Hi,
Could you please explain to me the aim of the two function implemented in the isocontour function.
For exemple matrices I, E, IE. What are representing?

I am trying to compute line and vertices for a 2x2 cell. It is throwing an error.
Can somebody tell me how to do it?

Reja Rabbi

Is it possible to compute the area above a gray scale value?

Ken Campbell

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.

Bas Boom

Can you add the paper with I have to cite when I use this method. Nice method by the way, already might have solved two problems with it. Cheers Bas

Updates

1.1

Line normals now always point to the inside of the object.

MATLAB Release
MATLAB 7.11 (R2010b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video