Performs perspective warping of the given source quadrangle to the specified destination quadrangle.
Case 1: Operation on pixel-order data
IppStatus ippiWarpPerspectiveQuad_<mod>(const Ipp<datatype>* pSrc, IppiSize srcSize, int srcStep, IppiRect srcRoi, const double srcQuad[4][2], Ipp<datatype>* pDst, int dstStep, IppiRect dstRoi, const double dstQuad[4][2], int interpolation);
Supported values for mod:
8u_C1R |
16u_C1R |
32f_C1R |
8u_C3R |
16u_C3R |
32f_C3R |
8u_C4R |
16u_C4R |
32f_C4R |
8u_AC4R |
16u_AC4R |
32f_AC4R |
Case 2: Operation on planar-order data
IppStatus ippiWarpPerspectiveQuad_<mod>(const Ipp<datatype>* const pSrc[3], IppiSize srcSize, int srcStep, IppiRect srcRoi, const double srcQuad[4][2], Ipp<datatype>* const pDst[3], int dstStep, IppiRect dstRoi, const double dstQuad[4][2], int interpolation);
Supported values for mod:
8u_P3R |
16u_P3R |
32f_P3R |
|
IppStatus ippiWarpPerspectiveQuad_<mod>(const Ipp<datatype>* const pSrc[4], IppiSize srcSize, int srcStep, IppiRect srcRoi, const double srcQuad[4][2], Ipp<datatype>* const pDst[4], int dstStep, IppiRect dstRoi, const double dstQuad[4][2], int interpolation);
Supported values for mod:
8u_P4R |
16u_P4R |
32f_P4R |
|
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 the IppiRect type). | ||||||
srcQuad |
A given quadrangle in the source image. | ||||||
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 the IppiRect type). | ||||||
dstQuad |
A given quadrangle in the destination image. | ||||||
interpolation |
Specifies the interpolation mode. Use one of the following values:
|
The function ippiWarpPerspectiveQuad is declared in the ippi.h file. It operates with ROI (see ROI Processing in Geometric Transforms).
This function applies a perspective transform to an arbitrary quadrangle srcQuad in the source image pSrc. The operations take place only in the intersection of the source image ROI srcRoi and the source quadrangle. The function ippiWarpPerspectiveQuad uses the same formulas for pixel mapping as in the case of the ippiWarpPerspective function. Transform coefficients are computed internally, based on the mapping of the source quadrangle to the quadrangle dstQuad specified in the destination image pDst. The dstQuad should have a non-empty intersection with the destination image ROI dstRoi.
The first dimension [4] of the array specifying the quadrangle srcQuad[4][2] or dstQuad[4][2] is equal to the number of vertices, and the second dimension [2] holds x and y coordinates of the vertex.
Edge smoothing interpolation is applicable only if the source quadrangle lies in the source image ROI.
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 any image dimension has zero or negative value. |
ippStsStepErr |
Indicates an error condition if srcStep or dstStep has a zero or negative value. |
ippStsInterpolationErr |
Indicates an error condition if interpolation has an illegal value. |
ippStsQuadErr |
Indicates an error condition if srcQuad or dstQuad degenerates into triangle. |
ippStsWrongIntersectROIErr |
Indicates an error condition if srcRoi has no intersection with the source image. |
ippStsWrongIntersectQuad |
Indicates a warning that no operation is performed if the srcRoi has no intersection with the srcQuad, or dstRoi has no intersection with the dstQuad. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.