Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Local Transforms » TopHatImage_Mask

TopHatImage_Mask


Header: AVL.h
Namespace: avl
Module: FoundationLite

Performs a morphological white top hat operation on a image using a predefined mask.

Syntax

C++
C#
 
void avl::TopHatImage_Mask
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	atl::Optional<avl::Pixel> inBorderColor,
	avl::MorphologyKernel::Type inKernel,
	avl::Image& outImage
)

Parameters

Name Type Default Description
Input value inImage const Image& Input image
Input value inRoi Optional<const Region&> NIL Range of outImage pixels to be computed
Input value inBorderColor Optional<Pixel> NIL Color of the imaginary pixels outside the image boundaries
Input value inKernel MorphologyKernel::Type Kernel shape
Output value outImage Image& Output image

In-place Processing

This function supports in-place data processing - you can pass the same reference to inImage and outImage

Read more about In-place Computation.

Description

Extracts from image small objects that are brighter than surroundings. Uses predefined mask.

Is performed by running consecutively two filters. OpenImage_Mask to get the image without small objects and SubtractFromImage to remove everything but them.

Examples

Top Hat used to remove bigger objects. Used parameters inKernel=Box5x5. Source image on the left and result on the right.

Hardware Acceleration

This operation is optimized for SSE2 technology for pixels of types: all formats (when inSourceRoi = NIL and inBorderColor = NIL).

This operation is optimized for NEON technology for pixels of types: all formats (when inSourceRoi = NIL and inBorderColor = NIL).

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Region exceeds an input image in TopHatImage_Mask.