You are here: Start » AVL.NET » Function Reference » Region » Region Morphology » AVL.RegionHitAndMissTransform

AVL.RegionHitAndMissTransform

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

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void RegionHitAndMissTransform
(
	AvlNet.Region inRegion,
	AvlNet.Region inHitKernel,
	AvlNet.Location? inHitKernelAnchor,
	AvlNet.Region inMissKernel,
	AvlNet.Location? inMissKernelAnchor,
	AvlNet.Region outRegion
)

Parameters

Name Type Range Default Description
inRegionAvlNet.RegionInput region.
inHitKernelAvlNet.RegionThe kernel of pixels that should be present.
inHitKernelAnchorAvlNet.Location?Location withing inHitKernel, defining its center. Default value: atl::NIL.
inMissKernelAvlNet.RegionThe kernel of pixels that should be missing.
inMissKernelAnchorAvlNet.Location?Location withing inMissKernel, defining its center. Default value: atl::NIL.
outRegionAvlNet.RegionOutput 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.

Function Overrides

See also