$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Mathematical Morphology

Modules

 Morphological Closing
 Morphological Opening
 Morphological Watershed

Functions

template<typename I >
mln::trait::concrete< I >::ret mln::morpho::complementation (const Image< I > &input)
template<typename I >
void mln::morpho::complementation_inplace (Image< I > &input)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::contrast (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::dilation (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::approx::dilation (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::approx::erosion (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::erosion (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::gradient (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::gradient_external (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::gradient_internal (const Image< I > &input, const Window< W > &win)
template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss (const Image< I > &input, const Window< Wh > &win_hit, const Window< Wm > &win_miss)
template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_background_closing (const Image< I > &input, const Window< Wh > &win_hit, const Window< Wm > &win_miss)
template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_background_opening (const Image< I > &input, const Window< Wh > &win_hit, const Window< Wm > &win_miss)
template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_closing (const Image< I > &input, const Window< Wh > &win_hit, const Window< Wm > &win_miss)
template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_opening (const Image< I > &input, const Window< Wh > &win_hit, const Window< Wm > &win_miss)
template<typename I , typename W , typename O >
void mln::morpho::laplacian (const Image< I > &input, const Window< W > &win, Image< O > &output)
template<typename V >
edge_image< util::site_pair
< point2d >, V, util::graph > 
mln::morpho::line_gradient (const mln::image2d< V > &ima)
template<typename I , typename J >
mln::trait::concrete< I >::ret mln::morpho::min (const Image< I > &lhs, const Image< J > &rhs)
template<typename I , typename J >
void mln::morpho::min_inplace (Image< I > &lhs, const Image< J > &rhs)
template<typename I , typename J >
mln::trait::concrete< I >::ret mln::morpho::minus (const Image< I > &lhs, const Image< J > &rhs)
template<typename I , typename W >
 mln::morpho::mln_trait_op_minus_twice (typename mln::trait::concrete< I >::ret) laplacian(const Image< I > &input
template<typename I , typename J >
mln::trait::concrete< I >::ret mln::morpho::plus (const Image< I > &lhs, const Image< J > &rhs)
template<typename I , typename N , typename F , typename K , typename R >
mln::trait::ch_value< I, bool >
::ret 
mln::morpho::skeleton_constrained (const Image< I > &input, const Neighborhood< N > &nbh, const F &is_simple, const Image< K > &constraint, const Image< R > &priority)
template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thick_miss (const Image< I > &input, const Window< Wfg > &win_fg, const Window< Wbg > &win_bg)
template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thickening (const Image< I > &input, const Window< Wfg > &win_fg, const Window< Wbg > &win_bg)
template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thin_fit (const Image< I > &input, const Window< Wfg > &win_fg, const Window< Wbg > &win_bg)
template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thinning (const Image< I > &input, const Window< Wfg > &win_fg, const Window< Wbg > &win_bg)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::top_hat_black (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::top_hat_self_complementary (const Image< I > &input, const Window< W > &win)
template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::top_hat_white (const Image< I > &input, const Window< W > &win)

Detailed Description

Algorithms dedicated to Mathematical Morphology.

Function Documentation

template<typename I >
mln::trait::concrete< I >::ret mln::morpho::complementation ( const Image< I > &  input)

Morphological complementation: either a logical "not" (if morpho on sets) or an arithmetical complementation (if morpho on functions).

template<typename I >
void mln::morpho::complementation_inplace ( Image< I > &  input)

Morphological complementation, inplace version: either a logical "not" (if morpho on sets) or an arithmetical complementation (if morpho on functions).

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::contrast ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological contrast operator (based on top-hats).

This operator is Id + wth_B - bth_B.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::dilation ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological dilation.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::approx::dilation ( const Image< I > &  input,
const Window< W > &  win 
)

Approximate mathematical morphology dilation.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::approx::erosion ( const Image< I > &  input,
const Window< W > &  win 
)

Approximate mathematical morphology erosion.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::erosion ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological erosion.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::gradient ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological gradient.

This operator is d_B - e_B.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::gradient_external ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological external gradient.

This operator is d_B - Id.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::gradient_internal ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological internal gradient.

This operator is Id - e_B.

template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss ( const Image< I > &  input,
const Window< Wh > &  win_hit,
const Window< Wm > &  win_miss 
)

Morphological hit-or-miss. This operator is HMT_(Bh,Bm) = e_Bh /\ (e_Bm o C).

template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_background_closing ( const Image< I > &  input,
const Window< Wh > &  win_hit,
const Window< Wm > &  win_miss 
)

Morphological hit-or-miss closing of the background. This operator is C o HMTopeBG o C.

template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_background_opening ( const Image< I > &  input,
const Window< Wh > &  win_hit,
const Window< Wm > &  win_miss 
)

Morphological hit-or-miss opening of the background. This operator is HMTopeBG = HMTope_(Bm,Bh) o C = d_(-Bm) o HMT_(Bh,Bm).

template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_closing ( const Image< I > &  input,
const Window< Wh > &  win_hit,
const Window< Wm > &  win_miss 
)

Morphological hit-or-miss closing. This operator is C o HMTope o C.

template<typename I , typename Wh , typename Wm >
mln::trait::concrete< I >::ret mln::morpho::hit_or_miss_opening ( const Image< I > &  input,
const Window< Wh > &  win_hit,
const Window< Wm > &  win_miss 
)

Morphological hit-or-miss opening. This operator is HMTope_(Bh,Bm) = d_(-Bh) o HMT_(Bh,Bm).

template<typename I , typename W , typename O >
void mln::morpho::laplacian ( const Image< I > &  input,
const Window< W > &  win,
Image< O > &  output 
)

Morphological laplacian.

This operator is (d_B - Id) - (Id - e_B).

template<typename V >
edge_image<util::site_pair<point2d>, V, util::graph> mln::morpho::line_gradient ( const mln::image2d< V > &  ima)

Create a line graph image representing the gradient norm of a mln::image2d.

template<typename I , typename J >
mln::trait::concrete< I >::ret mln::morpho::min ( const Image< I > &  lhs,
const Image< J > &  rhs 
)

Morphological min: either a logical "and" (if morpho on sets) or an arithmetical min (if morpho on functions).

template<typename I , typename J >
void mln::morpho::min_inplace ( Image< I > &  lhs,
const Image< J > &  rhs 
)

Morphological min, inplace version: either a logical "and" (if morpho on sets) or an arithmetical min (if morpho on functions).

template<typename I , typename J >
mln::trait::concrete< I >::ret mln::morpho::minus ( const Image< I > &  lhs,
const Image< J > &  rhs 
)

Morphological minus: either a logical "and not" (if morpho on sets) or an arithmetical minus (if morpho on functions).

template<typename I , typename W >
mln::morpho::mln_trait_op_minus_twice ( typename mln::trait::concrete< I >::ret  ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename I , typename J >
mln::trait::concrete< I >::ret mln::morpho::plus ( const Image< I > &  lhs,
const Image< J > &  rhs 
)

Morphological plus: either a "logical or" (if morpho on sets) or an "arithmetical plus" (if morpho on functions).

template<typename I , typename N , typename F , typename K , typename R >
mln::trait::ch_value< I , bool >::ret mln::morpho::skeleton_constrained ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
const F &  is_simple,
const Image< K > &  constraint,
const Image< R > &  priority 
)

Compute a skeleton under constraints.

template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thick_miss ( const Image< I > &  input,
const Window< Wfg > &  win_fg,
const Window< Wbg > &  win_bg 
)

Morphological thick-miss.

This operator is THICK_B = Id + HMTopeBG_B, where B = (Bfg, Bbg).

template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thickening ( const Image< I > &  input,
const Window< Wfg > &  win_fg,
const Window< Wbg > &  win_bg 
)

Morphological thickening.

This operator is THICK_B = Id + HMT_B, where B = (Bfg, Bbg).

template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thin_fit ( const Image< I > &  input,
const Window< Wfg > &  win_fg,
const Window< Wbg > &  win_bg 
)

Morphological thin-fit.

This operator is THIN_B = Id - HMTope_B where B = (Bfg, Bbg).

template<typename I , typename Wfg , typename Wbg >
mln::trait::concrete< I >::ret mln::morpho::thinning ( const Image< I > &  input,
const Window< Wfg > &  win_fg,
const Window< Wbg > &  win_bg 
)

Morphological thinning.

This operator is THIN_B = Id - HMT_B, where B = (Bfg, Bbg).

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::top_hat_black ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological black top-hat (for background / dark objects).

This operator is clo_B - Id.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::top_hat_self_complementary ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological self-complementary top-hat.

This operator is
= top_hat_white + top_hat_black
= (input - opening) + (closing - input)
= closing - opening.

template<typename I , typename W >
mln::trait::concrete< I >::ret mln::morpho::top_hat_white ( const Image< I > &  input,
const Window< W > &  win 
)

Morphological white top-hat (for object / light objects).

This operator is Id - ope_B.