Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

SegmentGradient

Performs image segmentation by region growing to the least gradient direction.

Syntax

IppStatus ippiSegmentGradient_8u_C1IR(const Ipp8u*
pSrc
, int
srcStep
, Ipp8u*
pMarker
, int
markerStep
, IppiSize
roiSize
, IppiNorm
norm
, int
flags
, Ipp8u*
pBuffer
);
IppStatus ippiSegmentGradient_8u_C3IR(const Ipp8u*
pSrc
, int
srcStep
, Ipp8u*
pMarker
, int
markerStep
, IppiSize
roiSize
, IppiNorm
norm
, int
flags
, Ipp8u*
pBuffer
);
Include Files
ippcv.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
,
ippi.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
,
ippi.lib
Parameters
pSrc
Pointer to the source image ROI.
srcStep
Distance in bytes between starts of consecutive lines in the source image.
pMarker
Pointer to the ROI of the source and destination image of markers.
markerStep
Distance in bytes between starts of consecutive lines in the image of markers.
roiSize
Size of the source and destination image ROI in pixels.
norm
Specifies type of the norm to form the mask for marker propagation:
ippiNormInf
Infinity norm (8-connectivity, 3x3 rectangular mask);
ippiNormL1
L1 norm (4-connectivity, 3x3 cross mask);
flags
optional flag:
IPP_SEGMENT_BORDER_4
pixels of the 4-connectivity border between image segments are marked with value
(IPP_MAX_8U)-1
(254).
IPP_SEGMENT_BORDER_8
pixels of the 8-connectivity border between image segments are marked with value
(IPP_MAX_8U)-1
(254).
pBuffer
Pointer to the working buffer.
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function performs image segmentation by region growing with markers. Non-zero pixels of
pMarker
image belong to initial image regions. Marker values propagate through the whole image in the direction of the least value of the absolute value of the image gradient. For 3-channel image the gradient is calculated as the maximum of channel gradients. Image segments are formed by groups of connected
pMarker
pixels with the same value. The parameter
norm
controls marker propagation connectivity. Gradient segmentation is generally done for an image without explicit calculation of the image gradient. [Meyer92]
If
IPP_SEGMENT_BORDER
flag is defined, then the pixels adjacent to differently marked pixels are assumed to be border pixels and are set to a special value (254). This value must not be used to mark segments in this case.
Another special value (255) is used inside the function and can not be used to mark segment inany case.
The function requires the working buffer
pBuffer
whose size should be computed by the function
ippiSegmentGradientGetBufferSize
beforehand.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or a warning.
ippStsNullPtrErr
Indicates an error condition if one of the specified pointers is
NULL
.
ippStsSizeErr
Indicates an error condition if
roiSize
has a field with zero or negative value.
ippStsStepErr
Indicates an error condition if one of the
srcStep
or
markerStep
is less than
roiSize.width
* <
pixelSize
>.
ippStsBadArgErr
Indicates an error condition if
norm
has an illegal value.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804