Back to Aurora Vision Library website

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

TopHatImage


Header: AVL.h
Namespace: avl
Module: FoundationLite

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

Syntax

C++
C#
 
void avl::TopHatImage
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	atl::Optional<const avl::Region&> inSourceRoi,
	atl::Optional<avl::Pixel> inBorderColor,
	avl::KernelShape::Type inKernel,
	int inRadiusX,
	atl::Optional<int> inRadiusY,
	avl::Image& outImage,
	avl::Region& diagKernel
)

Parameters

Name Type Range 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 KernelShape::Type Kernel shape
Input value inRadiusX int 0 - 1 Nearly half of the kernel's width (2*R+1)
Input value inRadiusY Optional<int> 0 - NIL Nearly half of the kernel's height (2*R+1), or same as inRadiusX
Output value outImage Image& Output image
Diagnostic input diagKernel Region& Kernel shape

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.

Is performed by running consecutively two filters. OpenImage 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=Ellipse and inRadiusX=6. 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.