WarpBilinearBack
MODIFIED API.
Performs an inverse bilinear warping of the source image.Syntax
IppStatus ippiWarpBilinearBack_<mod>(const Ipp<datatype>*
pSrc
, IppiSize
srcSize
, int
srcStep
, IppiRect
srcRoi
, Ipp<datatype>*
pDst
, int
dstStep
, IppiRect
dstRoi
, const double
coeffs
[2][4], int
interpolation
, Ipp8u*
pBuffer
);
Supported values for
mod
:8u_C1R | 16u_C1R | 32f_C1R |
8u_C3R | 16u_C3R | 32f_C3R |
8u_C4R | 16u_C4R | 32f_C4R |
Include Files
ippi.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
Parameters
- pSrc
- Pointer to the source image origin.An array of separate pointers to each plane in case of data in planar format.
- srcSize
- Size in pixels of the source image.
- srcStep
- Distance in bytes between starts of consecutive lines in the source image buffer.
- srcRoi
- Region of interest in the source image (of theIppiRecttype).
- pDst
- Pointer to the destination image origin. An array of separate pointers to each plane in case of data in planar format.
- dstStep
- Distance in bytes between starts of consecutive lines in the destination image buffer.
- dstRoi
- Region of interest in the destination image (of theIppiRecttype).
- coeffs
- The bilinear transform coefficients.
- interpolation
- Specifies the interpolation mode. Use one of the following values:
- IPPI_INTER_NN
- Nearest neighbor interpolation
- IPPI_INTER_LINEAR
- Linear interpolation
- IPPI_INTER_CUBIC
- Cubic interpolation.
- pBuffer
- Pointer to the external work buffer.
Description
The API of this function has been modified in Intel IPP 9.0 release.
This function operates with ROI (see ROI Processing in Geometric Transforms).
This function performs the inverse transform to that defined by
ippiWarpBilinear
function. Pixel coordinates x
' and y
' in the transformed image are obtained from the following equationsc
00
* x
'*y
' + c
01
* x
' + c
02
* y
' + c
03
= x
c
10
* x
'*y
' + c
11
* x
' + c
12
* y
' + c
13
= y
where are given in the array
x
and y
denote the pixel coordinates in the source image, and coefficients c
ij
coeffs
. Thus, you do not need to invert transform coefficients in your application program before calling ippiWarpBilinearBack
.Note that inverse transform functions handle source and destination ROI in a different way than other geometric transform functions. The implementation of the inverse transform functions has the following logic:
- Backward transform is applied to coordinates of each pixel in the destination ROI. The result is coordinates of some pixel in the source image.
- If the obtained source pixel is inside the source ROI, the corresponding pixel in the destination ROI is modified accordingly; otherwise, no changes are made.
Before using this function, compute the size of the external work buffer
pBuffer
using the WarpBilinearGetBufferSize function. Example shows how to use the function
ippiWarpBilinearBack_32f_C1R
.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 isNULL.
- ippStsSizeErr
- Indicates an error condition if any image dimension has zero or negative value.
- ippStsStepErr
- Indicates an error condition ifsrcStepordstStephas a zero or negative value.
- ippStsInterpolationErr
- Indicates an error condition ifinterpolationhas an illegal value.
- ippStsCoeffErr
- Indicates an error condition if coefficient values are invalid.
- ippStsWrongIntersectROIErr
- Indicates an error condition ifsrcRoihas no intersection with the source image.
- ippStsWrongIntersectQuad
- Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI.