Namespaces | |
| namespace | impl |
| namespace | internal |
Classes | |
| struct | is_simple_point |
Functions | |
| template<typename I , typename N , typename F , typename G , typename H > | |
| mln::trait::concrete< I >::ret | breadth_first_thinning (const Image< I > &input, const Neighborhood< N > &nbh, Function_v2b< F > &is_simple, G detach, const Function_v2b< H > &constraint=fun::p2b::tautology()) |
| Skeleton by Breadth-First Thinning. | |
| template<typename I , typename D , typename N > | |
| mln::trait::concrete< I >::ret | crest (const Image< I > &input, const Image< D > &dist_map, const Neighborhood< N > &nbh) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. psi_threshold is set to 6. | |
| template<typename I , typename D , typename N > | |
| mln::trait::concrete< I >::ret | crest (const Image< I > &input, const Image< D > &dist_map, const Neighborhood< N > &nbh, unsigned psi_threshold) |
| Compute skeletization constraints. | |
| mln::trait::concrete< I >::ret mln::topo::skeleton::breadth_first_thinning | ( | const Image< I > & | input, | |
| const Neighborhood< N > & | nbh, | |||
| Function_v2b< F > & | is_simple, | |||
| G | detach, | |||
| const Function_v2b< H > & | constraint = fun::p2b::tautology() | |||
| ) | [inline] |
Skeleton by Breadth-First Thinning.
A generic implementation of the computation of a skeleton using a breadth-first thinning on a binary.
| input | The input image. | |
| nbh | The adjacency relation between triangles. | |
| is_simple | The predicate on the simplicity of points (sites). This functor must provide a method void set_image(const Image<I>&). | |
| detach | A function used to detach a cell from input. | |
| constraint | A constraint on point (site); if it returns false for a point, this point will not be removed. |
Definition at line 82 of file breadth_first_thinning.hh.
References mln::topo::detach(), mln::duplicate(), and mln::exact().
| mln::trait::concrete< I >::ret mln::topo::skeleton::crest | ( | const Image< I > & | input, | |
| const Image< D > & | dist_map, | |||
| const Neighborhood< N > & | nbh | |||
| ) |
| mln::trait::concrete< I >::ret mln::topo::skeleton::crest | ( | const Image< I > & | input, | |
| const Image< D > & | dist_map, | |||
| const Neighborhood< N > & | nbh, | |||
| unsigned | psi_threshold | |||
| ) |
Compute skeletization constraints.
| [in] | input | A binary image. |
| [in] | dist_map | A distance map of input. Contains the inner object distance map. |
| [in] | nbh | A neighborhood. |
| [in] | psi_threshold | Keep sites having a Point Superiority Index greated or equal to psi_threshold. |
This implementation is based on the following article: K. W. Kang, J. W. Suh, and J. H. Kim. Skeletonization of grayscale character images using pixel superiority index. In Proc. 3rd IAPR Workshop on Document Analysis Systems, pages 326-335, Nagano, Japan, 1998.
Abstract: "In this paper, we present pixel superiority index as a tool for designing a skeletonization algorithm which utilizes topographic features efficiently. We clarify a relationship between pixel superiority index and topographic features. Then, using the relationship, we transform a problem of skeletonization into a problem of skeleton growing. [...]"
In Milena, the Pixel Superiority index is defined as follow: Let v = p.val(), the Pixel superiority index of p is the number of neighbor pixels having their value/level inferior or equal to p.val().
This algorithm keeps sites having their pixel superiority index greater than psi_threshold (6 by default).
For good results with 2D images, we advice you to use c8() as neighborhood.
Definition at line 291 of file crest.hh.
References mln::topo::skeleton::internal::crest_dispatch(), mln::trace::entering(), mln::exact(), and mln::trace::exiting().
Referenced by crest(), mln::topo::skeleton::internal::crest_dispatch(), and mln::topo::skeleton::internal::crest_dispatch_2d().
1.7.1