ll_boundaries2 Extract (local or not) meaningful boundaries from a Fimage
ll_boundaries2 [-e eps] [-s step] [-p prec] [-G G] [-a] [-H hstep] [-t tree] [-v visit] [-L] [-k keep_tree] [-o image_out] in out
-e eps : -log10(max number of false alarms), default 0.
-s step : quantization step, default 1.
-p prec : sampling precision for flst_bilinear, default 2
-G G : standard dev. for preliminary convolution, default 0.5
-a : keep all meaningful level lines (not only maximal ones)
-H hstep : step for contrast histogram, default 0.01
-t tree : use a precomputed bilinear tree, default NULL
-v visit : maximal number of visits for a boundary, default 100
-L : force local research
-k keep_tree : keep meaningful tree
-o image_out : image reconstructed by meaningful tree
in : input (Fimage)
out : output boundaries (Flists)
Flists ll_boundaries2 (in , eps , tree , step , prec , std , hstep , all , visit , loc , image_out , keep_tree )
Fimage in , image_out ;
Shapes tree , keep_tree ;
float *eps , *step , *hstep , *std ;
int *prec , *visit ;
char *all , *loc ;
This modules selects contrasted level lines from a Fimage.
It brings new features to the former
(these two modules will probably be merged in the next release).
Because of gradient quantization effect, it may be very useful to slightly smooth the image before applying the method. A gaussian with standard deviation 0.5 is the default kernel.
In the original algorithm, the gradient distribution is computed on the whole image (see [DMM01]), sometimes yielding what is called the ``blue sky effect'': there are too many detections in some regions because the image contains a very flat part. This can be counter-balanced by using the following method (detailed in [CMS03]): since meaningful boundaries are closed curves, they sever the plan into two connected components. It is then possible to re-estimate the gradient distribution in each connected component and apply the same method as above. Use the
-L flag for this local research.
Notice that contrary to the
ll_edges detection, this
module is constrained to keep full (ie closed) level lines and
cannot break them into parts. As a consequence, the detected boundaries still
enjoy the original tree structure and are the level lines of a function.
Meaningful boundaries thus allow to define a ``connected operator'' (following
the mathematical morphologists terminology). The reconstructed image can be
obtained with the
-o option, while the corresponding tree can be
saved with the
The result is a collection of curves stored in a Flists structure.
fderiv, flstb_boundary, flst_bilinear, flstb_quantize, flst_pixels, flst_reconstruct, fsaddles, fsepconvol.
Last Modification date : Thu Apr 15 07:44:10 2004
Lionel Moisan, Frederic Cao