Back to Aurora Vision Library website

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

TopHatImage_AnyKernel


Header: AVL.h
Namespace: avl
Module: FoundationLite

Performs a morphological white top hat operation on a image using an arbitrary kernel.

Syntax

C++
C#
 
void avl::TopHatImage_AnyKernel
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	atl::Optional<const avl::Region&> inSourceRoi,
	atl::Optional<avl::Pixel> inBorderColor,
	const avl::Region& inKernel,
	atl::Optional<const avl::Location&> inKernelAnchor,
	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 inSourceRoi Optional<const Region&> NIL Range of inImage pixels to be considered in computations
Input value inBorderColor Optional<Pixel> NIL Color of the imaginary pixels outside the image boundaries
Input value inKernel const Region& Kernel shape
Input value inKernelAnchor Optional<const Location&> NIL A location within inKernel, defining its center
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 user-defined kernel.

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

Examples

Top Hat used to remove bigger objects. 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_AnyKernel.