You are here: Start » Filter Reference » Region » Region Global Transforms » SplitRegionIntoBlobs
Module: | FoundationBasic |
---|
Splits a region into an array of regions corresponding to its connected components.
Applications
Name | Type | Range | Description | |
---|---|---|---|---|
inRegion | Region | Input region | ||
inConnectivity | RegionConnectivity | Type of connectivity used for the region foreground | ||
inMinBlobArea | Integer | 0 - | Minimal area of a resulting blob | |
inMaxBlobArea | Integer* | 0 - | Maximal area of a resulting blob | |
inRemoveBoundaryBlobs | Bool | Flag indicating whether the blobs on border of the input region should be removed or not | ||
outBlobs | RegionArray |
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 |
Hints
- In most cases this filter works without any parametrization. Just connect a single region to the inRegion input.
- To reject small blobs, which are often caused by noise, increase inMinBlobArea.
- To reject big blobs, which sometimes appear due to some background pattern, define inMaxBlobArea.
- Set inRemoveBoundaryBlobs to ignore blobs of partially visible objects, touching the edges of the image.
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.
Complexity Level
This filter is available on Advanced Complexity Level.
See Also
- SplitRegionIntoComponents – Splits a region into an array of regions. Operates by merging blobs in accordance to the inMaxDistance parameter.
- SplitRegionIntoMultipleCharacters – Splits the input region into an array of regions corresponding to individual characters.
- CropRegion – Creates a region from a rectangular fragment of another one.