Skip to content

gray_bothatGrayBothatGrayBothatgray_bothatgray_bothat🔗

Short description🔗

gray_bothatGrayBothatGrayBothatgray_bothatgray_bothat — Perform a gray value bottom hat transformation on an image.

Signature🔗

gray_bothat( image Image, image SE, out image ImageBotHat )void GrayBothat( const HObject& Image, const HObject& SE, HObject* ImageBotHat )static void HOperatorSet.GrayBothat( HObject image, HObject SE, out HObject imageBotHat )def gray_bothat( image: HObject, se: HObject ) -> HObject

Herror gray_bothat( const Hobject Image, const Hobject SE, Hobject* ImageBotHat )

Herror T_gray_bothat( const Hobject Image, const Hobject SE, Hobject* ImageBotHat )

HImage HImage::GrayBothat( const HImage& SE ) const

HImage HImage.GrayBothat( HImage SE )

Description🔗

gray_bothatGrayBothat applies a gray value bottom hat transformation to the input image Imageimageimage with the structuring element SESEse. The image type of the structuring element SESEse must match the image type of the input image Imageimageimage. The gray value bottom hat transformation of an image \(i\) with a structuring element \(s\) is defined as

\[\begin{eqnarray*} \textit{bothat}(i,s) = (i \bullet s) - i , \end{eqnarray*}\]

i.e., the difference of the closing of the image with \(s\) and the image (see gray_closingGrayClosing). For the generation of structuring elements, see read_gray_seReadGraySe.

The gray value erosion is particularly fast for flat structuring elements, i.e. structuring elements with a constant gray level within their domain.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on internal data level.

Parameters🔗

Imageimageimage (input_object) (multichannel-)image(-array) → object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject (byte / uint2 / real)

Input image.

SESEse (input_object) singlechannelimage → object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject (byte / uint2 / real)

Structuring element.

ImageBotHatimageBotHatimage_bot_hat (output_object) (multichannel-)image(-array) → object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject * (byte / uint2 / real)

Bottom hat image.

Result🔗

gray_bothatGrayBothat returns 2 (H_MSG_TRUE) if the structuring element is not the empty region. Otherwise, an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

read_gray_seReadGraySe, gen_disc_seGenDiscSe, read_imageReadImage

Possible successors

thresholdThreshold

Alternatives

gray_closingGrayClosing

See also

gray_tophatGrayTophat, top_hatTopHat, gray_erosion_rectGrayErosionRect, sub_imageSubImage

Module🔗

Foundation