next up previous contents index
Next: flstb_dual Up: Reference Previous: cml_reconstruct   Contents   Index


$ \bigcirc$Name

flstb_boundary Discretized level line in bilinear interpolated image

$ \bigcirc$Command Synopsis

flstb_boundary [-p precision] image tree shape dualchain boundary

-p precision : Approximate max number of points per dual pixel

image : The original image

tree : A tree of shapes of the image

shape : The shape whose boundary is to be computed

dualchain : List of dual-pixels (dualchain)

boundary : boundary computed (output Flist)

$ \bigcirc$Function Summary

Flist flstb_boundary (pPrecision , pImage , pTree , pShape , pDualchain , pBoundary , ctabtabSaddleValues )

int *pPrecision ;

Fimage pImage ;

Shapes pTree ;

Shape pShape ;

Flist pDualchain , pBoundary ;

char *ctabtabSaddleValues ;

$ \bigcirc$Description

This module extracts a polygonal approximation of a level line in a bilinear interpolated image (see module flst_bilinear). A parameter indicates the approximate maximum number of points of discretization in each dual pixel. The sampling is done in the manner described below. The result is in the field boundary of the shape, as a list of 2-D points. If the level line is closed, the last point coincides with the first one. If the level line is open, the first and last points are on the rectangle [0, W]×[0, H].

The curve is oriented so that the shape lies at the left of the curve. In this manner, the orientation of a closed line is counterclockwise. The entry point in each dual pixel (that is either at a data point or on a dual edgel) is put in the curve. Then if there is no maximal curvature point on the level line in the interior of the dual pixel, it is sampled uniformly (with step 1/precision) along x (resp. y) if the local map y = f (x) (resp. x = f (y)) representing the curve is such that | f'| $ \leq$ 1.

If there is a maximal curvature point, it is sampled uniformly along the appropriate direction (decided in the same manner as above) before reaching the maximal curvature point, this point is inserted in the curve, and the curve is then sampled along the other direction after this point. The maximal number is thus 2×precision+1.

For parameter ctabtabSaddleValues, see documentation of module flstb_dualchain, which is used by this one.

The tree parameter is a tree of shapes associated to image, as returned by flst_bilinear or flstb_quantize.

Caveat: the algorithm has no means to verify that the tree is really associated to the bilinear interpolation of image, and in the negative case, the module will fail with an error message, or worse, with a memory error. For example, if the tree is extracted with the module flst (which does not interpret the image as a bilinear interpolation), this will fail (unless there is no saddle point in the image, i.e., no T-junction).

$ \bigcirc$See Also


flstb_tv, ll_boundaries2, ll_boundaries, ll_edges, ll_extract.

$ \bigcirc$Version 1.0

Last Modification date : Thu Nov 29 20:23:56 2001

$ \bigcirc$Author

Pascal Monasse

next up previous contents index
Next: flstb_dual Up: Reference Previous: cml_reconstruct   Contents   Index
mw 2004-05-05