Back to Aurora Vision Library Lite website

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

BottomHatImage_AnyKernel


Header: AVL.h
Namespace: avl

Performs a morphological black top hat (bottom hat) operation on a image using an arbitrary kernel.

Syntax

void avl::BottomHatImage_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& Selects 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 darker than surroundings. Uses user-defined kernel.

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

Examples

Bottom 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 BottomHatImage_AnyKernel.