Back to Aurora Vision Library website

You are here: Start » Function Reference » Region » Region Morphology » RegionHitAndMissTransform

RegionHitAndMissTransform


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Performs a hit-and-miss transformation on a region using arbitrary kernels.

Syntax

C++
C#
 
void avl::RegionHitAndMissTransform
(
	const avl::Region& inRegion,
	const avl::Region& inHitKernel,
	atl::Optional<const avl::Location&> inHitKernelAnchor,
	const avl::Region& inMissKernel,
	atl::Optional<const avl::Location&> inMissKernelAnchor,
	avl::Region& outRegion
)

Parameters

Name Type Default Description
Input value inRegion const Region& Input region
Input value inHitKernel const Region& The kernel of pixels that should be present
Input value inHitKernelAnchor Optional<const Location&> NIL Location withing inHitKernel, defining its center
Input value inMissKernel const Region& The kernel of pixels that should be missing
Input value inMissKernelAnchor Optional<const Location&> NIL Location withing inMissKernel, defining its center
Output value outRegion Region& Output region

Description

The operation performs a hit-and-miss transformation. Similarly to other region morphology operations, hit-and-miss is conducted using a shape called kernel (or structuring element). In this particular case, there are two kernels: inHitKernel and inMissKernel. Both of them are repeatedly centered at each location within the dimensions of the input region. Then, pixel location L is added to the resulting region if and only if all of the inHitKernel pixels centered at L lie inside and all of the inMissKernel pixels centered at L lie outside the input region.

Examples

RegionHitAndMissTransform run with kernels \( \begin{bmatrix} 1 & X & X\\ 1 & 0 & X\\ 1 & X & X \end{bmatrix} \) where \( 1 \)'s represent pixels from inHitKernel, \( 0 \)'s from inMissKernel and \( X \)'s the other ones.

Errors

List of possible exceptions:

Error type Description
DomainError Hit kernel empty in RegionHitAndMissTransform.
DomainError Inconsistent region dimensions in RegionHitAndMissTransform.
DomainError Miss kernel empty in RegionHitAndMissTransform.

See Also