Developer Reference

  • 2020
  • 10/21/2020
  • Public Content
Contents

WarpPerspectiveGetSize

Computes the size of the specification structure and the size of the external work buffer for the warp perspective transform.

Syntax

IppStatus ippiWarpPerspectiveGetSize(IppiSize
srcSize
, IppiRect
srcRoi
, IppiSize
dstSize
, IppDataType
dataType
, const double
coeffs[3][3]
, IppiInterpolationType
interpolation
, IppiWarpDirection
direction
, IppiBorderType
borderType
, int*
pSpecSize
, int*
pInitBufSize
);
Include Files
ippi.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
Parameters
srcSize
Size of the source image, in pixels.
srcRoi
Source image ROI (of the
IppiRect type
).
dstSize
Size of the destination image, in pixels.
dataType
Data type of the source and destination images. Supported values:
ipp8u
,
ipp16u
,
ipp16s
, and
ipp32f
.
coeffs
Coefficients for the perspective transform.
interpolation
Interpolation method. Supported values:
ippNearest
,
ippLinear
, and
ippCubic
.
direction
Transformation direction. Supported values:
ippWarpForward
Forward transformation
ippWarpBackward
Backward transformation
borderType
Type of border. Supported values:
ippBorderConst
Values of all border pixels are set to a constant.
ippBorderRepl
Border is replicated from the edge pixels.
ippBorderTransp
Outer pixels are not processed.
ippBorderInMem
Border is obtained from the source image pixels in memory.
Mixed borders are also supported. They can be obtained by the bitwise operation
OR
between
ippBorderTransp
and the
ippBorderInMemTop
,
ippBorderInMemBottom
,
ippBorderInMemLeft
,
ippBorderInMemRight
values.
pSpecSize
Pointer to the size, in bytes, of the specification structure.
pInitBufSize
Pointer to the size, in bytes, of the temporary buffer.
Description
This function computes the size of the specification structure and the external work buffer for the following functions, depending on the
interpolation
parameter:
ippiWarpPerspectiveNearestInit
,
ippiWarpPerspectiveLinearInit
, or
ippiWarpPerspectiveCubicInit
.
You can set the value of the
srcRoi
parameter to
ippRectInfinite
, which means that the ROI is not specified.
Return Values
ippStsNoErr
Indicates no error.
ippStsNullPtrErr
Indicates an error when one of the specified pointers is
NULL
.
ippStsSizeErr
Indicates an error in the following cases:
  • If the width or height of the source or destination image is less than, or equal to one.
  • If one of the calculated sizes exceeds the maximum positive 32-bit signed integer value. The size of the one of the processed images is too large.
ippStsRectErr
Indicates an error in the following cases, if the source image ROI is not
ippRectInfinite
:
  • If the source image ROI has no intersection with the image.
  • Either
    x
    or
    y
    component of the source image ROI is negative.
  • Width or height of the source image ROI is less than, or equal to zero.
ippStsDataTypeErr
Indicates an error when
dataType
has an illegal value.
ippStsWarpDirectionErr
Indicates an error when
direction
has an illegal value.
ippStsInterpolationErr
Indicates an error when
interpolation
has an illegal value.
ippStsCoeffErr
Indicates an error when perspective transformation is singular.
ippStsWrongIntersectQuad
Indicates a warning that no operation is performed if the transformed source image extended with borders has no intersection with the destination image.
ippStsBorderErr
Indicates an error when
borderType
has an illegal value.
ippStsSizeWrn
Indicates a warning when
srcRoi
exceeds the source image.

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