See: Description
Enum | Description |
---|---|
SoApplyMorphologicalLutProcessing2d.MatchingActions |
Action to use for matching and no-matching fields.
|
SoApplyMorphologicalLutProcessing3d.MatchingActions |
Action to use for matching and no-matching fields.
|
SoPruningProcessing2d.PruningModes | |
SoPruningProcessing3d.PruningModes |
A morphological LUT (Look Up Table) allows to move in a binary image some predefined configurations of neighborhood and apply a criteria when this configuration matches or not.
First a kernel has to be defined to test if a given pixel matches a criteria or not. The kernel is made of classical binary pixel values : 0, 1 and a specific one: 2 which means 'don't care'.
For example:
A LUT to convert a binary image from an 8 neighbors connexity to 4 neighbors connexity can be defined testing if a given pixel has a neighbour in the north east, north west, south west and south east directions.
These kernels have to be added one by one to build the LUT, using the addKernel method. The first kernel has to be inserted with the mode NEW, that indicates the LUT has to be reset before to add this kernel inside. Other kernels have to be ineserted with the mode OR to indicate to look for this kernels or one of the previous.
Once the LUT is created, it has to be specified what has to be done with the pixels that match the LUT and those that do not. Two flag fields are available to specify the different actions: flagTrue if the pixel matches and flagFalse if it does not. There are 4 possible values :
For example : to change the connexity from 8 neighbors connexity to 4 , if the pixel matches the criteria the output value has to be forced to 0 and if it does not it has to be let unchanged. Therefore flagTrue = OUTPUT_ZERO and flagFalse = OUPUT_UNCHANGE.
As a consequence morphological LUT's can be used to perform classical neighborhood operations such as thinning, thickening and hit-or-miss :
A skeletonization is a transformation based on the thinning of connected components until a line is achieved. A skeleton is obtained by successive thinnings until convergence, using the L configuration and rotating it. The structuring element is: where
means "don't care".
Once a skeleton is computed it may be useful to detect specific configurations of points. The point detectors uses hit-or-miss transforms (HMT) to select target points. The following engines are point detectors : SoEndPointsProcessing2d
, SoInteriorPointsProcessing2d
, SoIsolatedPointsProcessing2d
.
Generated on July 31, 2019, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com