Package boofcv.alg.segmentation.ms
Class MergeRegionMeanShift
java.lang.Object
boofcv.alg.segmentation.ms.RegionMergeTree
boofcv.alg.segmentation.ms.MergeRegionMeanShift
- All Implemented Interfaces:
Stoppable
Merges together regions which have modes close to each other and have a similar color.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.ddogleg.struct.Stoppable
Stoppable.Stopped
-
Field Summary
Fields inherited from class boofcv.alg.segmentation.ms.RegionMergeTree
mergeList, rootID, stopRequested, tmpMemberCount
-
Constructor Summary
ConstructorDescriptionMergeRegionMeanShift
(int maxSpacialDistance, float maxColorDistance) Configures MergeRegionMeanShift -
Method Summary
Modifier and TypeMethodDescriptionprotected void
markMergeRegions
(DogArray<float[]> regionColor, DogArray<Point2D_I32> modeLocation, GrayS32 pixelToRegion) Takes the mode of a region and searches the local area around it for other regions.void
process
(GrayS32 pixelToRegion, DogArray_I32 regionMemberCount, DogArray<float[]> regionColor, DogArray<Point2D_I32> modeLocation) Merges together similar regions which are in close proximity to each other.Methods inherited from class boofcv.alg.segmentation.ms.RegionMergeTree
flowIntoRootNode, initializeMerge, isStopRequested, markMerge, performMerge, requestStop, setToRootNodeNewID
-
Constructor Details
-
MergeRegionMeanShift
public MergeRegionMeanShift(int maxSpacialDistance, float maxColorDistance) Configures MergeRegionMeanShift- Parameters:
maxSpacialDistance
- The maximum spacial distance (pixels) at which two modes can be for their regions to be merged together.maxColorDistance
- The maximum Euclidean distance two colors can be from each other for them to be merged.
-
-
Method Details
-
process
public void process(GrayS32 pixelToRegion, DogArray_I32 regionMemberCount, DogArray<float[]> regionColor, DogArray<Point2D_I32> modeLocation) Merges together similar regions which are in close proximity to each other. After merging most of the input data structures are modified to take in account the changes.- Parameters:
pixelToRegion
- (Input/output) Image that specifies the segmentation. Modified.regionMemberCount
- (Input/output) Number of pixels in each region. Modified.regionColor
- (Input/output) Color of each region. Modified.modeLocation
- (Input) Location of each region's mode. Not modified.
-
markMergeRegions
protected void markMergeRegions(DogArray<float[]> regionColor, DogArray<Point2D_I32> modeLocation, GrayS32 pixelToRegion) Takes the mode of a region and searches the local area around it for other regions. If the region's mode is also within the local area its color is checked to see if it's similar enough. If the color is similar enough then the two regions are marked for merger.
-