Developer Reference

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

TrueDistanceTransform

Calculates the Eucledian distance to the closest zero pixel for all non-zero pixels of the source image.

Syntax

IppStatus ippiTrueDistanceTransform_8u32f_C1R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, 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.
pDst
Pointer to the ROI in the destination distance image.
dstStep
Distance in bytes between starts of consecutive lines in the destination image.
roiSize
Size of the image ROI in pixels.
pBuffer
Pointer to the temporary working buffer.
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function calculates the Eucledian distance to the closest zero pixel for all non-zero pixels of the source image [Felz04].
The figure below shows the result of the integer version of the true distance transform of a 7x7 image with zero point in the center and with the scale factor -5.
136
115
101
96
101
115
136
115
91
72
64
72
91
115
101
72
45
36
45
72
101
96
64
36
0
36
64
96
101
72
45
36
45
72
101
115
91
72
64
72
91
115
136
115
101
96
101
115
136
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
srcStep
or
dstStep
is less than
roiSize.width*<pixelSize>
.
ippStsNotEvenStepErr
Indicates an error condition if step value is not divisible by 2 for
16u
images, and by 4 for
32f
images.

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