\hypertarget{a02661}{
\section{mln::morpho Namespace Reference}
\label{d8/d69/a02661}\index{mln::morpho@{mln::morpho}}
}


Namespace of mathematical morphology routines.  


\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
namespace \hyperlink{a02662}{approx}


\begin{DoxyCompactList}\small\item\em Namespace of approximate mathematical morphology routines. \item\end{DoxyCompactList}

\item 
namespace \hyperlink{a02665}{attribute}


\begin{DoxyCompactList}\small\item\em Namespace of attributes used in mathematical morphology. \item\end{DoxyCompactList}

\item 
namespace \hyperlink{a02668}{elementary}


\begin{DoxyCompactList}\small\item\em Namespace of image processing routines of elementary mathematical morphology. \item\end{DoxyCompactList}

\item 
namespace \hyperlink{a02672}{impl}


\begin{DoxyCompactList}\small\item\em Namespace of mathematical morphology routines implementations. \item\end{DoxyCompactList}

\item 
namespace \hyperlink{a02678}{reconstruction}


\begin{DoxyCompactList}\small\item\em Namespace of morphological reconstruction routines. \item\end{DoxyCompactList}

\item 
namespace \hyperlink{a02687}{tree}


\begin{DoxyCompactList}\small\item\em Namespace of morphological tree-\/related routines. \item\end{DoxyCompactList}

\item 
namespace \hyperlink{a02692}{watershed}


\begin{DoxyCompactList}\small\item\em Namespace of morphological watershed routines. \item\end{DoxyCompactList}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename I $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a67cb58cbacf6f9985ea058fe3efd1e4a}{complementation} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input)
\item 
{\footnotesize template$<$typename I $>$ }\\void \hyperlink{a02661_a281e726d85433ed13cd57f798278a840}{complementation\_\-inplace} (\hyperlink{a00044}{Image}$<$ I $>$ \&input)
\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_ad61d42e0d79305ef4f5045f232900d46}{contrast} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_ad284467422f2e68b49f1c16dc5d0ecf1}{dilation} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological dilation. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_ab7d874bcac2441889d1a0b70e6afdfb2}{erosion} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological erosion. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename Op , typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a5b80a5f47c3a8fa2e4c48426d894f012}{general} (const Op \&op, const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological general routine. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_abba2ea9a52e23ef8a7ed32467a814e1c}{gradient} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological gradient. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a9954629af8723f20df2308d2437ce7ce}{gradient\_\-external} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological external gradient. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a8af2da7fb400ad4ad939087176f1104c}{gradient\_\-internal} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological internal gradient. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Wh , typename Wm $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a8761a7f0cdb38272226a9c3ae8049472}{hit\_\-or\_\-miss} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wh $>$ \&win\_\-hit, const \hyperlink{a00454}{Window}$<$ Wm $>$ \&win\_\-miss)
\begin{DoxyCompactList}\small\item\em Morphological hit-\/or-\/miss. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Wh , typename Wm $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a5bf1f4c0cab43c16295a10e402b33706}{hit\_\-or\_\-miss\_\-background\_\-closing} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wh $>$ \&win\_\-hit, const \hyperlink{a00454}{Window}$<$ Wm $>$ \&win\_\-miss)
\begin{DoxyCompactList}\small\item\em Morphological hit-\/or-\/miss closing of the background. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Wh , typename Wm $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_aa0d6577047886a6e1a39139852b5905b}{hit\_\-or\_\-miss\_\-background\_\-opening} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wh $>$ \&win\_\-hit, const \hyperlink{a00454}{Window}$<$ Wm $>$ \&win\_\-miss)
\begin{DoxyCompactList}\small\item\em Morphological hit-\/or-\/miss opening of the background. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Wh , typename Wm $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a47572de3f8ec54e2a5fa8ed5b2e2c6a0}{hit\_\-or\_\-miss\_\-closing} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wh $>$ \&win\_\-hit, const \hyperlink{a00454}{Window}$<$ Wm $>$ \&win\_\-miss)
\begin{DoxyCompactList}\small\item\em Morphological hit-\/or-\/miss closing. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Wh , typename Wm $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a2c71f2ff1a37933d1c4ac466f36443e2}{hit\_\-or\_\-miss\_\-opening} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wh $>$ \&win\_\-hit, const \hyperlink{a00454}{Window}$<$ Wm $>$ \&win\_\-miss)
\begin{DoxyCompactList}\small\item\em Morphological hit-\/or-\/miss opening. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W , typename O $>$ }\\void \hyperlink{a02661_a60a8374afd2aa46f30a9aba8405bae91}{laplacian} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win, \hyperlink{a00044}{Image}$<$ O $>$ \&output)
\item 
{\footnotesize template$<$typename V $>$ }\\\hyperlink{a00184}{edge\_\-image}$<$ \hyperlink{a00410}{util::site\_\-pair}$<$ \hyperlink{a00330}{point2d} $>$, V, \hyperlink{a00396}{util::graph} $>$ \hyperlink{a02661_a4eee80adc8028f113b83e7babb2bc643}{line\_\-gradient} (const \hyperlink{a00248}{mln::image2d}$<$ V $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Create a line graph image representing the gradient norm of a \hyperlink{a00248}{mln::image2d}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename L , typename I , typename N $>$ }\\mln::trait::ch\_\-value$<$ I, L $>$::ret \hyperlink{a02661_aedd84135647456580dd0587ad7b6c0a0}{meyer\_\-wst} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00296}{Neighborhood}$<$ N $>$ \&nbh, L \&nbasins)
\begin{DoxyCompactList}\small\item\em Meyer's Watershed Transform (WST) algorithm. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename L , typename I , typename N $>$ }\\mln::trait::ch\_\-value$<$ I, L $>$::ret \hyperlink{a02661_ab9ad253cf4d7120907f7ffd755f2bc32}{meyer\_\-wst} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00296}{Neighborhood}$<$ N $>$ \&nbh)
\begin{DoxyCompactList}\small\item\em Meyer's Watershed Transform (WST) algorithm, with no count of basins. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename J $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a401ab4dd744d1815d6497fc47b15e0fc}{min} (const \hyperlink{a00044}{Image}$<$ I $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ J $>$ \&rhs)
\item 
{\footnotesize template$<$typename I , typename J $>$ }\\void \hyperlink{a02661_a6b5edfe273de31e2390a0d53909e6009}{min\_\-inplace} (\hyperlink{a00044}{Image}$<$ I $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ J $>$ \&rhs)
\item 
{\footnotesize template$<$typename I , typename J $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a55c9851cb21a990c197cb1083c56a6ba}{minus} (const \hyperlink{a00044}{Image}$<$ I $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ J $>$ \&rhs)
\item 
{\footnotesize template$<$typename I , typename J $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_ac1faa0bc56712275641bdd038064d056}{plus} (const \hyperlink{a00044}{Image}$<$ I $>$ \&lhs, const \hyperlink{a00044}{Image}$<$ J $>$ \&rhs)
\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_aab2934cbeec731f468510462955a52dd}{rank\_\-filter} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win, unsigned k)
\begin{DoxyCompactList}\small\item\em Morphological rank\_\-filter. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Wfg , typename Wbg $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_af9f5cbd52ef5d85c11e2a30450b5b725}{thick\_\-miss} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wfg $>$ \&win\_\-fg, const \hyperlink{a00454}{Window}$<$ Wbg $>$ \&win\_\-bg)
\item 
{\footnotesize template$<$typename I , typename Wfg , typename Wbg $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_aa01f578d147d637f67619a2d4288ff74}{thickening} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wfg $>$ \&win\_\-fg, const \hyperlink{a00454}{Window}$<$ Wbg $>$ \&win\_\-bg)
\item 
{\footnotesize template$<$typename I , typename Wfg , typename Wbg $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a222de050f84b0076278700916f0cf1ab}{thin\_\-fit} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wfg $>$ \&win\_\-fg, const \hyperlink{a00454}{Window}$<$ Wbg $>$ \&win\_\-bg)
\item 
{\footnotesize template$<$typename I , typename Wfg , typename Wbg $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_ab703cf22ddf3dc081cb78d8cf87bc995}{thinning} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ Wfg $>$ \&win\_\-fg, const \hyperlink{a00454}{Window}$<$ Wbg $>$ \&win\_\-bg)
\begin{DoxyCompactList}\small\item\em Morphological thinning. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_ad8e3d54422ae34044e0d970acb8fb2eb}{top\_\-hat\_\-black} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological black top-\/hat (for background / dark objects). \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_acd3cc61900f75cbca3ddccce01b140f1}{top\_\-hat\_\-self\_\-complementary} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological self-\/complementary top-\/hat. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02661_a896a5f33131ec7469e564b47a622e5ff}{top\_\-hat\_\-white} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Morphological white top-\/hat (for object / light objects). \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Namespace of mathematical morphology routines. 

\subsection{Function Documentation}
\hypertarget{a02661_a67cb58cbacf6f9985ea058fe3efd1e4a}{
\index{mln::morpho@{mln::morpho}!complementation@{complementation}}
\index{complementation@{complementation}!mln::morpho@{mln::morpho}}
\subsubsection[{complementation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::complementation (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a67cb58cbacf6f9985ea058fe3efd1e4a}
Morphological complementation: either a logical \char`\"{}not\char`\"{} (if morpho on sets) or an arithmetical complementation (if morpho on functions). 

Definition at line 116 of file complementation.hh.



Referenced by hit\_\-or\_\-miss\_\-background\_\-closing(), hit\_\-or\_\-miss\_\-background\_\-opening(), hit\_\-or\_\-miss\_\-closing(), and thinning().

\hypertarget{a02661_a281e726d85433ed13cd57f798278a840}{
\index{mln::morpho@{mln::morpho}!complementation\_\-inplace@{complementation\_\-inplace}}
\index{complementation\_\-inplace@{complementation\_\-inplace}!mln::morpho@{mln::morpho}}
\subsubsection[{complementation\_\-inplace}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ void mln::morpho::complementation\_\-inplace (
\begin{DoxyParamCaption}
\item[{Image$<$ I $>$ \&}]{ input}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a281e726d85433ed13cd57f798278a840}
Morphological complementation, inplace version: either a logical \char`\"{}not\char`\"{} (if morpho on sets) or an arithmetical complementation (if morpho on functions). 

Definition at line 130 of file complementation.hh.

\hypertarget{a02661_ad61d42e0d79305ef4f5045f232900d46}{
\index{mln::morpho@{mln::morpho}!contrast@{contrast}}
\index{contrast@{contrast}!mln::morpho@{mln::morpho}}
\subsubsection[{contrast}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::contrast (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_ad61d42e0d79305ef4f5045f232900d46}
Morphological contrast operator (based on top-\/hats).

This operator is Id + wth\_\-B -\/ bth\_\-B. 

Definition at line 57 of file contrast.hh.



References plus(), top\_\-hat\_\-black(), and top\_\-hat\_\-white().

\hypertarget{a02661_ad284467422f2e68b49f1c16dc5d0ecf1}{
\index{mln::morpho@{mln::morpho}!dilation@{dilation}}
\index{dilation@{dilation}!mln::morpho@{mln::morpho}}
\subsubsection[{dilation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::dilation (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_ad284467422f2e68b49f1c16dc5d0ecf1}


Morphological dilation. 



Definition at line 162 of file dilation.hh.



References general().



Referenced by gradient(), gradient\_\-external(), hit\_\-or\_\-miss\_\-background\_\-opening(), hit\_\-or\_\-miss\_\-opening(), laplacian(), mln::morpho::opening::approx::structural(), and mln::morpho::closing::approx::structural().

\hypertarget{a02661_ab7d874bcac2441889d1a0b70e6afdfb2}{
\index{mln::morpho@{mln::morpho}!erosion@{erosion}}
\index{erosion@{erosion}!mln::morpho@{mln::morpho}}
\subsubsection[{erosion}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::erosion (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_ab7d874bcac2441889d1a0b70e6afdfb2}


Morphological erosion. 



Definition at line 163 of file erosion.hh.



References general().



Referenced by gradient(), gradient\_\-internal(), laplacian(), mln::morpho::opening::approx::structural(), and mln::morpho::closing::approx::structural().

\hypertarget{a02661_a5b80a5f47c3a8fa2e4c48426d894f012}{
\index{mln::morpho@{mln::morpho}!general@{general}}
\index{general@{general}!mln::morpho@{mln::morpho}}
\subsubsection[{general}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Op , typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::general (
\begin{DoxyParamCaption}
\item[{const Op \&}]{ op, }
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a5b80a5f47c3a8fa2e4c48426d894f012}


Morphological general routine. 



Definition at line 168 of file general.hh.



Referenced by dilation(), and erosion().

\hypertarget{a02661_abba2ea9a52e23ef8a7ed32467a814e1c}{
\index{mln::morpho@{mln::morpho}!gradient@{gradient}}
\index{gradient@{gradient}!mln::morpho@{mln::morpho}}
\subsubsection[{gradient}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::gradient (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_abba2ea9a52e23ef8a7ed32467a814e1c}


Morphological gradient. 

This operator is d\_\-B -\/ e\_\-B. 

Definition at line 76 of file gradient.hh.



References dilation(), erosion(), minus(), and mln::test::positive().

\hypertarget{a02661_a9954629af8723f20df2308d2437ce7ce}{
\index{mln::morpho@{mln::morpho}!gradient\_\-external@{gradient\_\-external}}
\index{gradient\_\-external@{gradient\_\-external}!mln::morpho@{mln::morpho}}
\subsubsection[{gradient\_\-external}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::gradient\_\-external (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a9954629af8723f20df2308d2437ce7ce}


Morphological external gradient. 

This operator is d\_\-B -\/ Id. 

Definition at line 110 of file gradient.hh.



References dilation(), minus(), and mln::test::positive().

\hypertarget{a02661_a8af2da7fb400ad4ad939087176f1104c}{
\index{mln::morpho@{mln::morpho}!gradient\_\-internal@{gradient\_\-internal}}
\index{gradient\_\-internal@{gradient\_\-internal}!mln::morpho@{mln::morpho}}
\subsubsection[{gradient\_\-internal}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::gradient\_\-internal (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a8af2da7fb400ad4ad939087176f1104c}


Morphological internal gradient. 

This operator is Id -\/ e\_\-B. 

Definition at line 93 of file gradient.hh.



References erosion(), minus(), and mln::test::positive().

\hypertarget{a02661_a8761a7f0cdb38272226a9c3ae8049472}{
\index{mln::morpho@{mln::morpho}!hit\_\-or\_\-miss@{hit\_\-or\_\-miss}}
\index{hit\_\-or\_\-miss@{hit\_\-or\_\-miss}!mln::morpho@{mln::morpho}}
\subsubsection[{hit\_\-or\_\-miss}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wh , typename Wm $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::hit\_\-or\_\-miss (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wh $>$ \&}]{ win\_\-hit, }
\item[{const Window$<$ Wm $>$ \&}]{ win\_\-miss}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a8761a7f0cdb38272226a9c3ae8049472}


Morphological hit-\/or-\/miss. 

This operator is HMT\_\-(Bh,Bm) = e\_\-Bh /$\backslash$ (e\_\-Bm o C). 

Definition at line 276 of file hit\_\-or\_\-miss.hh.



Referenced by thickening(), and thinning().

\hypertarget{a02661_a5bf1f4c0cab43c16295a10e402b33706}{
\index{mln::morpho@{mln::morpho}!hit\_\-or\_\-miss\_\-background\_\-closing@{hit\_\-or\_\-miss\_\-background\_\-closing}}
\index{hit\_\-or\_\-miss\_\-background\_\-closing@{hit\_\-or\_\-miss\_\-background\_\-closing}!mln::morpho@{mln::morpho}}
\subsubsection[{hit\_\-or\_\-miss\_\-background\_\-closing}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wh , typename Wm $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::hit\_\-or\_\-miss\_\-background\_\-closing (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wh $>$ \&}]{ win\_\-hit, }
\item[{const Window$<$ Wm $>$ \&}]{ win\_\-miss}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a5bf1f4c0cab43c16295a10e402b33706}


Morphological hit-\/or-\/miss closing of the background. 

This operator is C o HMTopeBG o C. 

Definition at line 357 of file hit\_\-or\_\-miss.hh.



References complementation(), hit\_\-or\_\-miss\_\-background\_\-opening(), and hit\_\-or\_\-miss\_\-closing().

\hypertarget{a02661_aa0d6577047886a6e1a39139852b5905b}{
\index{mln::morpho@{mln::morpho}!hit\_\-or\_\-miss\_\-background\_\-opening@{hit\_\-or\_\-miss\_\-background\_\-opening}}
\index{hit\_\-or\_\-miss\_\-background\_\-opening@{hit\_\-or\_\-miss\_\-background\_\-opening}!mln::morpho@{mln::morpho}}
\subsubsection[{hit\_\-or\_\-miss\_\-background\_\-opening}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wh , typename Wm $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::hit\_\-or\_\-miss\_\-background\_\-opening (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wh $>$ \&}]{ win\_\-hit, }
\item[{const Window$<$ Wm $>$ \&}]{ win\_\-miss}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_aa0d6577047886a6e1a39139852b5905b}


Morphological hit-\/or-\/miss opening of the background. 

This operator is HMTopeBG = HMTope\_\-(Bm,Bh) o C = d\_\-(-\/Bm) o HMT\_\-(Bh,Bm). 

Definition at line 314 of file hit\_\-or\_\-miss.hh.



References complementation(), dilation(), hit\_\-or\_\-miss\_\-opening(), and mln::win::sym().



Referenced by hit\_\-or\_\-miss\_\-background\_\-closing(), and thick\_\-miss().

\hypertarget{a02661_a47572de3f8ec54e2a5fa8ed5b2e2c6a0}{
\index{mln::morpho@{mln::morpho}!hit\_\-or\_\-miss\_\-closing@{hit\_\-or\_\-miss\_\-closing}}
\index{hit\_\-or\_\-miss\_\-closing@{hit\_\-or\_\-miss\_\-closing}!mln::morpho@{mln::morpho}}
\subsubsection[{hit\_\-or\_\-miss\_\-closing}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wh , typename Wm $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::hit\_\-or\_\-miss\_\-closing (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wh $>$ \&}]{ win\_\-hit, }
\item[{const Window$<$ Wm $>$ \&}]{ win\_\-miss}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a47572de3f8ec54e2a5fa8ed5b2e2c6a0}


Morphological hit-\/or-\/miss closing. 

This operator is C o HMTope o C. 

Definition at line 337 of file hit\_\-or\_\-miss.hh.



References complementation(), and hit\_\-or\_\-miss\_\-opening().



Referenced by hit\_\-or\_\-miss\_\-background\_\-closing().

\hypertarget{a02661_a2c71f2ff1a37933d1c4ac466f36443e2}{
\index{mln::morpho@{mln::morpho}!hit\_\-or\_\-miss\_\-opening@{hit\_\-or\_\-miss\_\-opening}}
\index{hit\_\-or\_\-miss\_\-opening@{hit\_\-or\_\-miss\_\-opening}!mln::morpho@{mln::morpho}}
\subsubsection[{hit\_\-or\_\-miss\_\-opening}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wh , typename Wm $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::hit\_\-or\_\-miss\_\-opening (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wh $>$ \&}]{ win\_\-hit, }
\item[{const Window$<$ Wm $>$ \&}]{ win\_\-miss}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a2c71f2ff1a37933d1c4ac466f36443e2}


Morphological hit-\/or-\/miss opening. 

This operator is HMTope\_\-(Bh,Bm) = d\_\-(-\/Bh) o HMT\_\-(Bh,Bm). 

Definition at line 294 of file hit\_\-or\_\-miss.hh.



References dilation(), and mln::win::sym().



Referenced by hit\_\-or\_\-miss\_\-background\_\-opening(), hit\_\-or\_\-miss\_\-closing(), and thin\_\-fit().

\hypertarget{a02661_a60a8374afd2aa46f30a9aba8405bae91}{
\index{mln::morpho@{mln::morpho}!laplacian@{laplacian}}
\index{laplacian@{laplacian}!mln::morpho@{mln::morpho}}
\subsubsection[{laplacian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W , typename O $>$ void mln::morpho::laplacian (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win, }
\item[{Image$<$ O $>$ \&}]{ output}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a60a8374afd2aa46f30a9aba8405bae91}
Morphological laplacian.

This operator is (d\_\-B -\/ Id) -\/ (Id -\/ e\_\-B). 

Definition at line 63 of file laplacian.hh.



References dilation(), erosion(), mln::data::fill(), and minus().

\hypertarget{a02661_a4eee80adc8028f113b83e7babb2bc643}{
\index{mln::morpho@{mln::morpho}!line\_\-gradient@{line\_\-gradient}}
\index{line\_\-gradient@{line\_\-gradient}!mln::morpho@{mln::morpho}}
\subsubsection[{line\_\-gradient}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename V $>$ {\bf edge\_\-image}$<$ {\bf util::site\_\-pair}$<$ {\bf point2d} $>$, V, {\bf util::graph} $>$ mln::morpho::line\_\-gradient (
\begin{DoxyParamCaption}
\item[{const {\bf mln::image2d}$<$ V $>$ \&}]{ ima}
\end{DoxyParamCaption}
)}}
\label{d8/d69/a02661_a4eee80adc8028f113b83e7babb2bc643}


Create a line graph image representing the gradient norm of a \hyperlink{a00248}{mln::image2d}. 



Definition at line 70 of file line\_\-gradient.hh.



References mln::math::abs(), mln::image2d$<$ T $>$::domain(), mln::box$<$ P $>$::has(), mln::window$<$ D $>$::insert(), and mln::Box$<$ E $>$::nsites().

\hypertarget{a02661_aedd84135647456580dd0587ad7b6c0a0}{
\index{mln::morpho@{mln::morpho}!meyer\_\-wst@{meyer\_\-wst}}
\index{meyer\_\-wst@{meyer\_\-wst}!mln::morpho@{mln::morpho}}
\subsubsection[{meyer\_\-wst}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L , typename I , typename N $>$ mln::trait::ch\_\-value$<$ I, L $>$::ret mln::morpho::meyer\_\-wst (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Neighborhood$<$ N $>$ \&}]{ nbh, }
\item[{L \&}]{ nbasins}
\end{DoxyParamCaption}
)}}
\label{d8/d69/a02661_aedd84135647456580dd0587ad7b6c0a0}


Meyer's Watershed Transform (WST) algorithm. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em input}]The input image. \item[\mbox{\tt[in]} {\em nbh}]The connexity of markers. \item[\mbox{\tt[out]} {\em nbasins}]The number of basins.\end{DoxyParams}
\begin{DoxyItemize}
\item {\ttfamily L} is the type of labels, used to number the watershed itself (with the minimal value), and the basins. \item {\ttfamily I} is the exact type of the input image. \item {\ttfamily N} is the exact type of the neighborhood used to express {\itshape input's\/} connexity. \end{DoxyItemize}


Definition at line 108 of file meyer\_\-wst.hh.



References mln::data::fill(), mln::p\_\-priority$<$ P, Q $>$::front(), mln::initialize(), mln::p\_\-priority$<$ P, Q $>$::pop(), mln::p\_\-priority$<$ P, Q $>$::push(), mln::labeling::regional\_\-minima(), and mln::literal::zero.

\hypertarget{a02661_ab9ad253cf4d7120907f7ffd755f2bc32}{
\index{mln::morpho@{mln::morpho}!meyer\_\-wst@{meyer\_\-wst}}
\index{meyer\_\-wst@{meyer\_\-wst}!mln::morpho@{mln::morpho}}
\subsubsection[{meyer\_\-wst}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L , typename I , typename N $>$ mln::trait::ch\_\-value$<$ I, L $>$::ret mln::morpho::meyer\_\-wst (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Neighborhood$<$ N $>$ \&}]{ nbh}
\end{DoxyParamCaption}
)}}
\label{d8/d69/a02661_ab9ad253cf4d7120907f7ffd755f2bc32}


Meyer's Watershed Transform (WST) algorithm, with no count of basins. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em input}]The input image. \item[\mbox{\tt[in]} {\em nbh}]The connexity of markers.\end{DoxyParams}
\begin{DoxyItemize}
\item {\ttfamily L} is the type of labels, used to number the watershed itself (with the minimal value), and the basins. \item {\ttfamily I} is the exact type of the input image. \item {\ttfamily N} is the exact type of the neighborhood used to express {\itshape input's\/} connexity.\end{DoxyItemize}
Note that the first parameter, {\ttfamily L}, is not automatically valued from the type of the actual argument during implicit instantiation: you have to explicitly pass this parameter at call sites. 

Definition at line 202 of file meyer\_\-wst.hh.

\hypertarget{a02661_a401ab4dd744d1815d6497fc47b15e0fc}{
\index{mln::morpho@{mln::morpho}!min@{min}}
\index{min@{min}!mln::morpho@{mln::morpho}}
\subsubsection[{min}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename J $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::min (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ lhs, }
\item[{const Image$<$ J $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a401ab4dd744d1815d6497fc47b15e0fc}
Morphological min: either a logical \char`\"{}and\char`\"{} (if morpho on sets) or an arithmetical min (if morpho on functions). 

Definition at line 112 of file morpho/min.hh.

\hypertarget{a02661_a6b5edfe273de31e2390a0d53909e6009}{
\index{mln::morpho@{mln::morpho}!min\_\-inplace@{min\_\-inplace}}
\index{min\_\-inplace@{min\_\-inplace}!mln::morpho@{mln::morpho}}
\subsubsection[{min\_\-inplace}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename J $>$ void mln::morpho::min\_\-inplace (
\begin{DoxyParamCaption}
\item[{Image$<$ I $>$ \&}]{ lhs, }
\item[{const Image$<$ J $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a6b5edfe273de31e2390a0d53909e6009}
Morphological min, inplace version: either a logical \char`\"{}and\char`\"{} (if morpho on sets) or an arithmetical min (if morpho on functions). 

Definition at line 125 of file morpho/min.hh.

\hypertarget{a02661_a55c9851cb21a990c197cb1083c56a6ba}{
\index{mln::morpho@{mln::morpho}!minus@{minus}}
\index{minus@{minus}!mln::morpho@{mln::morpho}}
\subsubsection[{minus}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename J $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::minus (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ lhs, }
\item[{const Image$<$ J $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a55c9851cb21a990c197cb1083c56a6ba}
Morphological minus: either a logical \char`\"{}and not\char`\"{} (if morpho on sets) or an arithmetical minus (if morpho on functions). 

Definition at line 87 of file morpho/minus.hh.



Referenced by gradient(), gradient\_\-external(), gradient\_\-internal(), laplacian(), thin\_\-fit(), thinning(), top\_\-hat\_\-black(), mln::morpho::elementary::top\_\-hat\_\-black(), top\_\-hat\_\-self\_\-complementary(), mln::morpho::elementary::top\_\-hat\_\-self\_\-complementary(), top\_\-hat\_\-white(), and mln::morpho::elementary::top\_\-hat\_\-white().

\hypertarget{a02661_ac1faa0bc56712275641bdd038064d056}{
\index{mln::morpho@{mln::morpho}!plus@{plus}}
\index{plus@{plus}!mln::morpho@{mln::morpho}}
\subsubsection[{plus}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename J $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::plus (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ lhs, }
\item[{const Image$<$ J $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_ac1faa0bc56712275641bdd038064d056}
Morphological plus: either a \char`\"{}logical or\char`\"{} (if morpho on sets) or an \char`\"{}arithmetical plus\char`\"{} (if morpho on functions). 

Definition at line 86 of file morpho/plus.hh.



Referenced by contrast(), thick\_\-miss(), and thickening().

\hypertarget{a02661_aab2934cbeec731f468510462955a52dd}{
\index{mln::morpho@{mln::morpho}!rank\_\-filter@{rank\_\-filter}}
\index{rank\_\-filter@{rank\_\-filter}!mln::morpho@{mln::morpho}}
\subsubsection[{rank\_\-filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::rank\_\-filter (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win, }
\item[{unsigned}]{ k}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_aab2934cbeec731f468510462955a52dd}


Morphological rank\_\-filter. 



Definition at line 213 of file rank\_\-filter.hh.

\hypertarget{a02661_af9f5cbd52ef5d85c11e2a30450b5b725}{
\index{mln::morpho@{mln::morpho}!thick\_\-miss@{thick\_\-miss}}
\index{thick\_\-miss@{thick\_\-miss}!mln::morpho@{mln::morpho}}
\subsubsection[{thick\_\-miss}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wfg , typename Wbg $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::thick\_\-miss (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wfg $>$ \&}]{ win\_\-fg, }
\item[{const Window$<$ Wbg $>$ \&}]{ win\_\-bg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_af9f5cbd52ef5d85c11e2a30450b5b725}
Morphological thick-\/miss.

This operator is THICK\_\-B = Id + HMTopeBG\_\-B, where B = (Bfg, Bbg). 

Definition at line 59 of file thick\_\-miss.hh.



References hit\_\-or\_\-miss\_\-background\_\-opening(), and plus().

\hypertarget{a02661_aa01f578d147d637f67619a2d4288ff74}{
\index{mln::morpho@{mln::morpho}!thickening@{thickening}}
\index{thickening@{thickening}!mln::morpho@{mln::morpho}}
\subsubsection[{thickening}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wfg , typename Wbg $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::thickening (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wfg $>$ \&}]{ win\_\-fg, }
\item[{const Window$<$ Wbg $>$ \&}]{ win\_\-bg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_aa01f578d147d637f67619a2d4288ff74}
Morphological thickening.

This operator is THICK\_\-B = Id + HMT\_\-B, where B = (Bfg, Bbg). 

Definition at line 88 of file thickening.hh.



References hit\_\-or\_\-miss(), and plus().



Referenced by thinning().

\hypertarget{a02661_a222de050f84b0076278700916f0cf1ab}{
\index{mln::morpho@{mln::morpho}!thin\_\-fit@{thin\_\-fit}}
\index{thin\_\-fit@{thin\_\-fit}!mln::morpho@{mln::morpho}}
\subsubsection[{thin\_\-fit}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wfg , typename Wbg $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::thin\_\-fit (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wfg $>$ \&}]{ win\_\-fg, }
\item[{const Window$<$ Wbg $>$ \&}]{ win\_\-bg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a222de050f84b0076278700916f0cf1ab}
Morphological thin-\/fit.

This operator is THIN\_\-B = Id -\/ HMTope\_\-B where B = (Bfg, Bbg). 

Definition at line 87 of file thin\_\-fit.hh.



References hit\_\-or\_\-miss\_\-opening(), and minus().

\hypertarget{a02661_ab703cf22ddf3dc081cb78d8cf87bc995}{
\index{mln::morpho@{mln::morpho}!thinning@{thinning}}
\index{thinning@{thinning}!mln::morpho@{mln::morpho}}
\subsubsection[{thinning}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Wfg , typename Wbg $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::thinning (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ Wfg $>$ \&}]{ win\_\-fg, }
\item[{const Window$<$ Wbg $>$ \&}]{ win\_\-bg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_ab703cf22ddf3dc081cb78d8cf87bc995}


Morphological thinning. 

This operator is THIN\_\-B = Id -\/ HMT\_\-B, where B = (Bfg, Bbg). 

Definition at line 90 of file thinning.hh.



References complementation(), hit\_\-or\_\-miss(), minus(), and thickening().

\hypertarget{a02661_ad8e3d54422ae34044e0d970acb8fb2eb}{
\index{mln::morpho@{mln::morpho}!top\_\-hat\_\-black@{top\_\-hat\_\-black}}
\index{top\_\-hat\_\-black@{top\_\-hat\_\-black}!mln::morpho@{mln::morpho}}
\subsubsection[{top\_\-hat\_\-black}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::top\_\-hat\_\-black (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_ad8e3d54422ae34044e0d970acb8fb2eb}


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

This operator is clo\_\-B -\/ Id. 

Definition at line 102 of file top\_\-hat.hh.



References minus(), and mln::test::positive().



Referenced by contrast().

\hypertarget{a02661_acd3cc61900f75cbca3ddccce01b140f1}{
\index{mln::morpho@{mln::morpho}!top\_\-hat\_\-self\_\-complementary@{top\_\-hat\_\-self\_\-complementary}}
\index{top\_\-hat\_\-self\_\-complementary@{top\_\-hat\_\-self\_\-complementary}!mln::morpho@{mln::morpho}}
\subsubsection[{top\_\-hat\_\-self\_\-complementary}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::top\_\-hat\_\-self\_\-complementary (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_acd3cc61900f75cbca3ddccce01b140f1}


Morphological self-\/complementary top-\/hat. 

This operator is \par
 = top\_\-hat\_\-white + top\_\-hat\_\-black \par
 = (input -\/ opening) + (closing -\/ input) \par
 = closing -\/ opening. \par
 

Definition at line 121 of file top\_\-hat.hh.



References minus(), and mln::test::positive().

\hypertarget{a02661_a896a5f33131ec7469e564b47a622e5ff}{
\index{mln::morpho@{mln::morpho}!top\_\-hat\_\-white@{top\_\-hat\_\-white}}
\index{top\_\-hat\_\-white@{top\_\-hat\_\-white}!mln::morpho@{mln::morpho}}
\subsubsection[{top\_\-hat\_\-white}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::concrete$<$ I $>$::ret mln::morpho::top\_\-hat\_\-white (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d69/a02661_a896a5f33131ec7469e564b47a622e5ff}


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

This operator is Id -\/ ope\_\-B. 

Definition at line 83 of file top\_\-hat.hh.



References minus(), and mln::test::positive().



Referenced by contrast().

