AVL.SplitRegionIntoBlobs

Splits a region into an array of regions corresponding to its connected components.

Namespace: AvlNet AVL.NET.dll

Syntax

C++
C#

public static void SplitRegionIntoBlobs
(
AvlNet.Region inRegion,
AvlNet.RegionConnectivity inConnectivity,
int inMinBlobArea,
int? inMaxBlobArea,
bool inRemoveBoundaryBlobs,
IList<AvlNet.Region> outBlobs,
IList<int> diagBlobAreas
)


Parameters

Name Type Range Default Description
inRegionAvlNet.RegionInput region.
inConnectivityAvlNet.RegionConnectivityType of connectivity used for the region foreground.
inMinBlobAreaint<0, INF>1Minimal area of a resulting blob. Default value: 1.
inMaxBlobAreaint?<0, INF>Maximal area of a resulting blob. Default value: atl::NIL.
inRemoveBoundaryBlobsboolFalseFlag indicating whether the blobs on border of the input region should be removed or not. Default value: False.
outBlobsSystem.Collections.Generic.IList<AvlNet.Region>
diagBlobAreasSystem.Collections.Generic.IList<int>Areas of extracted blobs.

Description

The operation computes an array of connected regions corresponding to the connected components of the input region pixels. Each region in the resulting array will have dimensions equal to those of the input region.

Resulting array will contain only regions which have area in range defined by inputs: inMinBlobArea and inMaxBlobArea.

Images below shows neighbor of the gray pixel in different inConnectivity selection.

 inConnectivity.FourDirections inConnectivity.EightDirections

Examples

The image below show an input 10x10 pixels region.

Images below shows result of SplitRegionIntoBlobs filter with different inConnectivity.

 inConnectivity.FourDirections inConnectivity.EightDirections

Images below shows result of SplitRegionIntoBlobs filter with different inRemoveBoundaryBlobs.

 inRemoveBoundaryBlobs = True inRemoveBoundaryBlobs = False

Remarks

When inRemoveBoundaryBlobs is set to True all filters near the region boundary will be removed. The region boundary is described by region frame.

This filter is mostly used in Blob Analysis Technique please refer to our Machine Vision Guide - Blob Analysis article.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Hardware acceleration settings may be manipulated with Settings class.