SMIL  1.0.4
Hit-or-Miss Transform

More...

Detailed Description

Hit-or-miss Morphological Operations

In mathematical morphology, hit-or-miss transform is an operation that detects a given configuration (or pattern) in a binary image, using the morphological erosion operator and a pair of disjoint structuring elements (see CompStrElt and CompStrEltList). The result of the hit-or-miss transform is the set of positions where the first structuring element fits in the foreground of the input image, and the second structuring element misses it completely.

See also
+ Collaboration diagram for Hit-or-Miss Transform:

Functions

template<class T >
RES_T hitOrMiss (const Image< T > &imIn, const StrElt &foreSE, const StrElt &backSE, Image< T > &imOut, T borderVal=ImDtTypes< T >::min())
 hitOrMiss() - Hit Or Miss transform More...
 
template<class T >
RES_T hitOrMiss (const Image< T > &imIn, const CompStrElt &compSE, Image< T > &imOut, T borderVal=ImDtTypes< T >::min())
 hitOrMiss() - Hit Or Miss transform More...
 
template<class T >
RES_T hitOrMiss (const Image< T > &imIn, const CompStrEltList &mhtSE, Image< T > &imOut, T borderVal=ImDtTypes< T >::min())
 hitOrMiss() - Hit Or Miss transform More...
 
template<class T >
RES_T thin (const Image< T > &imIn, const StrElt &foreSE, const StrElt &backSE, Image< T > &imOut)
 thin() - Thinning transform More...
 
template<class T >
RES_T thin (const Image< T > &imIn, const CompStrElt &compSE, Image< T > &imOut)
 thin() - Thinning transform More...
 
template<class T >
RES_T thin (const Image< T > &imIn, const CompStrEltList &mhtSE, Image< T > &imOut)
 thin() - Thinning transform More...
 
template<class T >
RES_T thick (const Image< T > &imIn, const StrElt &foreSE, const StrElt &backSE, Image< T > &imOut)
 thick() - Thicking transform More...
 
template<class T >
RES_T thick (const Image< T > &imIn, const CompStrElt &compSE, Image< T > &imOut)
 thick() - Thicking transform More...
 
template<class T >
RES_T thick (const Image< T > &imIn, const CompStrEltList &mhtSE, Image< T > &imOut)
 thick() - Thicking transform More...
 
template<class T >
RES_T fullThin (const Image< T > &imIn, const CompStrEltList &mhtSE, Image< T > &imOut)
 fullThin() - Thinning transform (full) More...
 
template<class T >
RES_T fullThin (const Image< T > &imIn, const CompStrElt &compSE, Image< T > &imOut)
 fullThin() - Thinning transform (full) More...
 
template<class T >
RES_T fullThin (const Image< T > &imIn, const StrElt &foreSE, const StrElt &backSE, Image< T > &imOut)
 fullThin() - Thinning transform (full) More...
 
template<class T >
RES_T fullThick (const Image< T > &imIn, const CompStrEltList &mhtSE, Image< T > &imOut)
 fullThick() - Thicking transform (full) More...
 
template<class T >
RES_T fullThick (const Image< T > &imIn, const CompStrElt &compSE, Image< T > &imOut)
 fullThick() - Thicking transform (full) More...
 
template<class T >
RES_T fullThick (const Image< T > &imIn, const StrElt &foreSE, const StrElt &backSE, Image< T > &imOut)
 fullThick() - Thicking transform (full) More...
 

Function Documentation

◆ hitOrMiss() [1/3]

RES_T smil::hitOrMiss ( const Image< T > &  imIn,
const StrElt foreSE,
const StrElt backSE,
Image< T > &  imOut,
borderVal = ImDtTypes<T>::min() 
)

hitOrMiss() - Hit Or Miss transform

Parameters
[in]imIn: input image
[in]foreSE,backSE: foreground an background structuring elements
[out]imOut: output image
[in]borderVal: value to be assigned to border pixels

◆ hitOrMiss() [2/3]

RES_T smil::hitOrMiss ( const Image< T > &  imIn,
const CompStrElt compSE,
Image< T > &  imOut,
borderVal = ImDtTypes<T>::min() 
)

hitOrMiss() - Hit Or Miss transform

Parameters
[in]imIn: input image
[in]compSE: composite structuring element with both foreground and background structuring elements
[out]imOut: output image
[in]borderVal: value to be assigned to border pixels

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

◆ hitOrMiss() [3/3]

RES_T smil::hitOrMiss ( const Image< T > &  imIn,
const CompStrEltList mhtSE,
Image< T > &  imOut,
borderVal = ImDtTypes<T>::min() 
)

hitOrMiss() - Hit Or Miss transform

Parameters
[in]imIn: input image
[in]mhtSE: vector with composite structuring elements with both foreground and background structuring elements
[out]imOut: output image
[in]borderVal: value to be assigned to border pixels

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

◆ thin() [1/3]

RES_T smil::thin ( const Image< T > &  imIn,
const StrElt foreSE,
const StrElt backSE,
Image< T > &  imOut 
)

thin() - Thinning transform

Thinnings consist in removing foreground image pixels matching a configuration given by a composite SE. In other words, the hit-or-miss transform of the image by this SE is subtracted from the original image.

Parameters
[in]imIn: input image
[in]foreSE,backSE: foreground an background structuring elements
[out]imOut: output image

◆ thin() [2/3]

RES_T smil::thin ( const Image< T > &  imIn,
const CompStrElt compSE,
Image< T > &  imOut 
)

thin() - Thinning transform

Parameters
[in]imIn: input image
[in]compSE: composite structuring element with both foreground and background structuring elements
[out]imOut: output image

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

◆ thin() [3/3]

RES_T smil::thin ( const Image< T > &  imIn,
const CompStrEltList mhtSE,
Image< T > &  imOut 
)

thin() - Thinning transform

Parameters
[in]imIn: input image
[in]mhtSE: vector with composite structuring elements with both foreground and background structuring elements
[out]imOut: output image

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

◆ thick() [1/3]

RES_T smil::thick ( const Image< T > &  imIn,
const StrElt foreSE,
const StrElt backSE,
Image< T > &  imOut 
)

thick() - Thicking transform

A thickening consists in adding background pixels having a specific configuration to the set of foreground pixels. This is achieved by adding to the input image the hit or miss transform by the corresponding composite SE.

Parameters
[in]imIn: input image
[in]foreSE,backSE: foreground an background structuring elements
[out]imOut: output image

◆ thick() [2/3]

RES_T smil::thick ( const Image< T > &  imIn,
const CompStrElt compSE,
Image< T > &  imOut 
)

thick() - Thicking transform

Parameters
[in]imIn: input image
[in]compSE: composite structuring element with both foreground and background structuring elements
[out]imOut: output image

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

◆ thick() [3/3]

RES_T smil::thick ( const Image< T > &  imIn,
const CompStrEltList mhtSE,
Image< T > &  imOut 
)

thick() - Thicking transform

Parameters
[in]imIn: input image
[in]mhtSE: vector with composite structuring elements with both foreground and background structuring elements
[out]imOut: output image

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

◆ fullThin() [1/3]

RES_T smil::fullThin ( const Image< T > &  imIn,
const CompStrEltList mhtSE,
Image< T > &  imOut 
)

fullThin() - Thinning transform (full)

thin() applied repeatedly till output image remains "stable". Output image "stability" is defined when the volume of the output image remains stops changing (idempotence).

Parameters
[in]imIn: input image
[in]mhtSE: vector with composite structuring elements with both foreground and background structuring elements
[out]imOut: output image

◆ fullThin() [2/3]

RES_T smil::fullThin ( const Image< T > &  imIn,
const CompStrElt compSE,
Image< T > &  imOut 
)

fullThin() - Thinning transform (full)

Parameters
[in]imIn: input image
[in]compSE: composite structuring element with both foreground and background structuring elements
[out]imOut: output image

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

◆ fullThin() [3/3]

RES_T smil::fullThin ( const Image< T > &  imIn,
const StrElt foreSE,
const StrElt backSE,
Image< T > &  imOut 
)

fullThin() - Thinning transform (full)

Parameters
[in]imIn: input image
[in]foreSE,backSE: foreground an background structuring elements
[out]imOut: output image

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

◆ fullThick() [1/3]

RES_T smil::fullThick ( const Image< T > &  imIn,
const CompStrEltList mhtSE,
Image< T > &  imOut 
)

fullThick() - Thicking transform (full)

thick() applied repeatedly till output image remains "stable". Output image "stability" is defined when the volume of the output image remains stops changing (idempotence).

Parameters
[in]imIn: input image
[in]mhtSE: vector with composite structuring elements with both foreground and background structuring elements
[out]imOut: output image

◆ fullThick() [2/3]

RES_T smil::fullThick ( const Image< T > &  imIn,
const CompStrElt compSE,
Image< T > &  imOut 
)

fullThick() - Thicking transform (full)

Parameters
[in]imIn: input image
[in]compSE: composite structuring element with both foreground and background structuring elements
[out]imOut: output image

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

◆ fullThick() [3/3]

RES_T smil::fullThick ( const Image< T > &  imIn,
const StrElt foreSE,
const StrElt backSE,
Image< T > &  imOut 
)

fullThick() - Thicking transform (full)

Parameters
[in]imIn: input image
[in]foreSE,backSE: foreground an background structuring elements background structuring elements
[out]imOut: output image

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