Back to Aurora Vision Library Lite website

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

TopHatImage


Header: AVL.h
Namespace: avl

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

Syntax

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.