include/nppi.h File Reference

NPP Image Processing Functionality. More...

#include "nppdefs.h"

Go to the source code of this file.

Functions

NppStatus nppiHistogramEven_8u_C1R (const Npp8u *pSrc, int nSrcStep, NppiSize oSizeROI, Npp32s *pHist, Npp32s *pLevels, int nLevels, Npp32s nLowerLevel, Npp32s nUpperLevel)
 Computes histogram of 8bit single channel image using equal bins.
NppStatus nppiHistogramEven_8u_C4R (const Npp8u *pSrc, int nSrcStep, NppiSize oSizeROI, Npp32s *pHist[4], Npp32s *pLevels[4], int nLevels[4], Npp32s nLowerLevel[4], Npp32s nUpperLevel[4])
 Computes histogram of 8bit four channel image using equal bins.
NppStatus nppiRectStdDev_32s32f_C1R (const Npp32s *pSrc, int nSrcStep, const Npp32f *pSqr, int nSqrStep, Npp32f *pDst, int nDstStep, NppiSize roiSize, NppiRect rect)
 RectStdDev Computes the standard deviation of itnegral images.
NppStatus nppiCanny_32f8u_C1R (const Npp32f *pSrcDx, int nSrcDxStep, const Npp32f *pSrcDy, int nSrcDyStep, Npp8u *pDstEdges, int nDstEdgeStep, NppiSize oSizeROI, Npp32f nLowThreshold, Npp32f nHighThreshold, Npp8u *pBuffer)
 Canny edge detection Find edges using the Canny algorithm.
2D Memory Allocation
Allocator methods for 2D arrays of data.

The allocators have width and height parameters to specify the size of the 2D array (image) to be allocated. They return a pointer to the newly created memory and return the numbers of bytes between successive lines.

Npp8unppiMalloc_8u_C1 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 8bit unsigned, single-channel 2D (image) memory allocator.
Npp8unppiMalloc_8u_C2 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 8bit unsigned, two-channel 2D (image) memory allocator.
Npp8unppiMalloc_8u_C3 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 8bit unsigned, three-channel 2D (image) memory allocator.
Npp8unppiMalloc_8u_C4 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 8bit unsigned, four-channel 2D (image) memory allocator.
Npp16unppiMalloc_16u_C1 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 16bit unsigned, single-channel 2D (image) memory allocator.
Npp16unppiMalloc_16u_C3 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 16bit unsigned, triple-channel 2D (image) memory allocator.
Npp16unppiMalloc_16u_C4 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 16bit unsigned, four-channel 2D (image) memory allocator.
Npp16snppiMalloc_16s_C1 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 16bit signed, single-channel 2D (image) memory allocator.
Npp16snppiMalloc_16s_C4 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 16bit signed, four-channel 2D (image) memory allocator.
Npp32snppiMalloc_32s_C1 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 32bit signed, single-channel 2D (image) memory allocator.
Npp32snppiMalloc_32s_C3 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 32bit signed, triple-channel 2D (image) memory allocator.
Npp32snppiMalloc_32s_C4 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 32bit signed, quad-channel 2D (image) memory allocator.
Npp32fnppiMalloc_32f_C1 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 32bit floating-point, single-channel 2D (image) memory allocator.
Npp32fnppiMalloc_32f_C3 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 32bit floating-point, triple-channel 2D (image) memory allocator.
Npp32fnppiMalloc_32f_C4 (int nWidthPixels, int nHeightPixels, int *pStepBytes)
 32bit floating-point, quad-channel 2D (image) memory allocator.
void nppiFree (void *pData)
 Free method for any 2D allocated memory.
2D Memory Set
Set methods for 2D images of various types.

The set methods operate on image data given as a pointer to the underlying pixels-channel data-type (e.g. four-channel 8-bit images would be passed as pointers to Npp8u type) and a step-width, i.e. the number of bytes between sucessive line starts. The size of the area to be set is specified via a NppiSize struct. All methods also take the pixel value to be set. In case of single channel images this is a single value, in case of multi-channel, a vector of values gets passed.

NppStatus nppiSet_8u_C1R (Npp8u nValue, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 8bit unsigned integer, single channel (image) data set method.
NppStatus nppiSet_8u_C4R (const Npp8u aValues[4], Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 8bit unsigned integer, four channel (image) data set method.
NppStatus nppiSet_8u_AC4R (const Npp8u aValues[3], Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 8bit unsigned integer, four channel (image) data set method, not affecting Alpha.
NppStatus nppiSet_32f_C1R (Npp32f nValue, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 32bit foat, single channel (image) data set method.
NppStatus nppiSet_32s_C1R (Npp32s nValue, Npp32s *pDst, int nDstStep, NppiSize oSizeROI)
 32bit signed integer, single channel (image) data set method.
Bit-Depth Conversion
Convert bit-depth up and down.

The integer conversion methods do not involve any scaling. Conversions that reduce bit-deptch saturate values exceeding the reduced range to the range's maximum/minimum value. When converting from floating-point values to integer values, a rounding mode can be specifed. After rounding to integer values the values get saturated to the destination data type's range.

NppStatus nppiConvert_8u16u_C1R (const Npp8u *pSrc, int nSrcStep, Npp16u *pDst, int nDstStep, NppiSize oSizeROI)
 8-bit unsigned integer to 16-bit unsigned integer, single channel conversion.
NppStatus nppiConvert_16u8u_C1R (const Npp16u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit unsigned integer to 8-bit unsigned integer, single channel conversion.
NppStatus nppiConvert_8u16u_C4R (const Npp8u *pSrc, int nSrcStep, Npp16u *pDst, int nDstStep, NppiSize oSizeROI)
 8-bit unsigned integer to 16-bit unsigned integer, four channel conversion.
NppStatus nppiConvert_16u8u_C4R (const Npp16u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit unsigned integer to 8-bit unsigned integer, four channel conversion.
NppStatus nppiConvert_8u16u_AC4R (const Npp8u *pSrc, int nSrcStep, Npp16u *pDst, int nDstStep, NppiSize oSizeROI)
 8-bit unsigned integer to 16-bit unsigned integer, four channel conversion not affecting alpha.
NppStatus nppiConvert_16u8u_AC4R (const Npp16u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit unsigned integer to 8-bit unsigned integer, four channel conversion not affecting alpha.
NppStatus nppiConvert_8u16s_C1R (const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI)
 8-bit unsigned integer to 16-bit singed integer, single channel conversion.
NppStatus nppiConvert_16s8u_C1R (const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit signed integer to 8-bit unsigned integer, four single conversion.
NppStatus nppiConvert_8u16s_C4R (const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI)
 8-bit unsigned integer to 16-bit signed integer, four channel conversion.
NppStatus nppiConvert_16s8u_C4R (const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit signed integer to 8-bit unsigned integer, four channel conversion not affecting alpha.
NppStatus nppiConvert_8u16s_AC4R (const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI)
 8-bit unsigned integer to 16-bit signed integer, four channel conversion not affecting alpha.
NppStatus nppiConvert_16s8u_AC4R (const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit signed integer to 8-bit unsigned integer, four channel conversion not affecting alpha.
NppStatus nppiConvert_16s32f_C1R (const Npp16s *pSrc, int nSrcStep, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit singed integer to 32-bit float, single channel conversion.
NppStatus nppiConvert_32f16s_C1R (const Npp32f *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI, NppRoundMode eRoundMode)
 32-bit float to 16-bit signed integer, single channel conversion.
NppStatus nppiConvert_16u32f_C1R (const Npp16u *pSrc, int nSrcStep, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit unsinged integer to 32-bit float, single channel conversion.
NppStatus nppiConvert_32f16u_C1R (const Npp32f *pSrc, int nSrcStep, Npp16u *pDst, int nDstStep, NppiSize oSizeROI, NppRoundMode eRoundMode)
 32-bit float to 16-bit unsigned integer, single channel conversion.
NppStatus nppiConvert_16u32s_C1R (const Npp16u *pSrc, int nSrcStep, Npp32s *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit unsinged integer to 32-bit signed, single channel conversion.
NppStatus nppiConvert_16s32s_C1R (const Npp16s *pSrc, int nSrcStep, Npp32s *pDst, int nDstStep, NppiSize oSizeROI)
 16-bit signed 32-bit signed integer, single channel conversion.
2D Memory Copy
Copy methods for 2D images of various types.

The copy methods operate on image data given as a pointer to the underlying pixels-channel data-type (e.g. four-channel 8-bit images would be passed as pointers to Npp8u type) and a step-width, i.e. the number of bytes between sucessive line starts. The size of the area to be copied is specified via a NppiSize struct.

NppStatus nppiCopy_8u_C1R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 8bit unsigned integer, single channel (image) copy method.
NppStatus nppiCopy_8u_C4R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 8bit unsigned integer, four channel (image) copy method.
NppStatus nppiCopy_8u_AC4R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 8bit unsigned integer, four channel (image) copy method, not affecting Alpha channel.
NppStatus nppiCopy_32f_C1R (const Npp32f *pSrc, int nSrcStep, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 32bit float, single channel (image) copy method.
NppStatus nppiCopy_32s_C1R (const Npp32s *pSrc, int nSrcStep, Npp32s *pDst, int nDstStep, NppiSize oSizeROI)
 32bit signed integer, single channel (image) copy method.
Copy Const Border
Methodes for copying images and padding borders with a constant, user-specifiable color.

NppStatus nppiCopyConstBorder_8u_C1R (const Npp8u *pSrc, int nSrcStep, NppiSize oSrcSizeROI, Npp8u *pDst, int nDstStep, NppiSize oDstSizeROI, int nTopBorderHeight, int nLeftBorderWidth, Npp8u nValue)
 8bit unsigned integer, single channel (image) copy widht constant border color.
NppStatus nppiCopyConstBorder_8u_C4R (const Npp8u *pSrc, int nSrcStep, NppiSize oSrcSizeROI, Npp8u *pDst, int nDstStep, NppiSize oDstSizeROI, int nTopBorderHeight, int nLeftBorderWidth, const Npp8u aValue[4])
 8-bit unsigned integer, four channel (image) copy with constant border color.
NppStatus nppiCopyConstBorder_8u_AC4R (const Npp8u *pSrc, int nSrcStep, NppiSize oSrcSizeROI, Npp8u *pDst, int nDstStep, NppiSize oDstSizeROI, int nTopBorderHeight, int nLeftBorderWidth, const Npp8u aValue[3])
 8-bit unsigned integer, four channel (image) copy with constant border color.
NppStatus nppiCopyConstBorder_32s_C1R (const Npp32s *pSrc, int nSrcStep, NppiSize oSrcSizeROI, Npp32s *pDst, int nDstStep, NppiSize oDstSizeROI, int nTopBorderHeight, int nLeftBorderWidth, Npp32s nValue)
Image Transpose
Methods for transposing 2D images of various types.

Like matrix transpose, image transpose is a mirror on the image's diagonal (uppler-left to lower-right corner).

NppStatus nppiTranspose_8u_C1R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oROI)
 Transpose 8bit single channel image.
Image Color Channel Swap
Methods for exchaning the color channels of an image.

The methods support arbitrary permutations of the original channels, including replication.

NppStatus nppiSwapChannels_8u_C4IR (Npp8u *pSrcDst, int nSrcDstStep, NppiSize oSizeROI, const int aDstOrder[4])
 8bit unsigned integer, four channel swap channels, in-place.
Image Addition Methods
Methods for adding two images.

NppStatus nppiAdd_8u_C1RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, single channel (image) add.
NppStatus nppiAdd_8u_C4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) add.
NppStatus nppiAdd_8u_AC4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) add, not affecting alpha channel.
NppStatus nppiAdd_32f_C1R (const Npp32f *pSrc1, int nSrc1Step, const Npp32f *pSrc2, int nSrc2Step, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 32bit float, single channel (image) add.
Image Subtraction Methods
Methods for subracting one image from another.

NppStatus nppiSub_8u_C1RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, single channel (image) sub.
NppStatus nppiSub_8u_C4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) subtraction.
NppStatus nppiSub_8u_AC4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) subtraction, not affecting alpha channel.
NppStatus nppiSub_32f_C1R (const Npp32f *pSrc1, int nSrc1Step, const Npp32f *pSrc2, int nSrc2Step, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 32bit float, single channel (image) subtraction.
Image Multiplication Methods
Methods for multiplying two images.

NppStatus nppiMul_8u_C1RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, single channel (image) mul.
NppStatus nppiMul_8u_C4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) multiplication.
NppStatus nppiMul_8u_AC4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) multiplication, not affecting alpha channel.
NppStatus nppiMul_32f_C1R (const Npp32f *pSrc1, int nSrc1Step, const Npp32f *pSrc2, int nSrc2Step, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 32bit float, singlechannel (image) multiplication.
Image Division Methods
Methods for dividing one image by another.

NppStatus nppiDiv_8u_C1RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, single channel (image) div.
NppStatus nppiDiv_8u_C4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) division.
NppStatus nppiDiv_8u_AC4RSfs (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, int nScaleFactor)
 8bit unsigned integer, four channel (image) division, not affecting alpha channel.
NppStatus nppiAbsDiff_8u_C4R (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
NppStatus nppiAbsDiff_8u_AC4R (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
NppStatus nppiDiv_32f_C1R (const Npp32f *pSrc1, int nSrc1Step, const Npp32f *pSrc2, int nSrc2Step, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 32bit float, single channel (image) division.
Image Absolute Difference Methods
Per-pixel absolute difference methods.

NppStatus nppiAbsDiff_8u_C1R (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI)
 8bit unsigned integer, single channel absolute difference.
NppStatus nppiAbsDiff_32f_C1R (const Npp32f *pSrc1, int nSrc1Step, const Npp32f *pSrc2, int nSrc2Step, Npp32f *pDst, int nDstStep, NppiSize oSizeROI)
 32bit float, single channel absolute difference.
Image Threshold Methods
Threshold pixels.

NppStatus nppiThreshold_32f_C1R (const Npp32f *pSrc, int nSrcStep, Npp32f *pDst, int nDstStep, NppiSize oSizeROI, Npp32f nThreshold, NppCmpOp eComparisonOperation)
 32bit float, single channel threshold.
NppStatus nppiThreshold_8u_AC4R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, const Npp8u aThresholds[3], NppCmpOp eComparisonOperation)
 8bit unsigned integer, four channel threshold, not affecting alpha channel.
Image Compare Methods
Compare the pixels of two images and create a binary result image.

In case of multi-channel image types, the condition must be fullfilled for all channels, otherwise the comparison is considered false. The "binary" result image is of type 8u_C1. False is represented by 0, true by NPP_MAX_8U.

NppStatus nppiCompare_8u_C4R (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, NppCmpOp eComparisonOperation)
 8bit unsigned integer, four channel (image) compare.
NppStatus nppiCompare_8u_AC4R (const Npp8u *pSrc1, int nSrc1Step, const Npp8u *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, NppCmpOp eComparisonOperation)
 8bit unsigned integer, four channel (image) compare, ignoring alpha channel.
NppStatus nppiCompare_32f_C1R (const Npp32f *pSrc1, int nSrc1Step, const Npp32f *pSrc2, int nSrc2Step, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, NppCmpOp eComparisonOperation)
 32bit float, single channel (image) compare.
Mean_StdDev
Computes the mean and standard deviation of image piexel values

NppStatus nppiMean_StdDev_8u_C1R (const Npp8u *pSrc, int nSrcStep, NppiSize roiSize, Npp64f *pMean, Npp64f *pStdDev)
 Mean_StdDev 8bit single channel image.
NormDiff
Norm of differences between two 8 bit images.

NppStatus nppiNormDiff_L1_8u_C1R (const Npp8u *pSrc1, int nSrcStep1, const Npp8u *pSrc2, int nSrcStep2, NppiSize oSizeROI, Npp64f *pRetVal)
 NormDiff_L1 computes the L1 norm of differences between two 8bit single channel images.
NppStatus nppiNormDiff_L2_8u_C1R (const Npp8u *pSrc1, int nSrcStep1, const Npp8u *pSrc2, int nSrcStep2, NppiSize oSizeROI, Npp64f *pRetVal)
 NormDiff_L2 computes the L2 norm of differences between two 8bit single channel images.
NppStatus nppiNormDiff_Inf_8u_C1R (const Npp8u *pSrc1, int nSrcStep1, const Npp8u *pSrc2, int nSrcStep2, NppiSize oSizeROI, Npp64f *pRetVal)
 NormDiff_L_Inf computes the L_Inf norm of differences between two 8bit single channel images.
1D Linear Filter
1D mask Linear Convolution Filter, with rescaling, for 8 bit images.

NppStatus nppiFilterColumn_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oROI, const Npp32s *pKernel, Npp32s iKernelDim, Npp32s iAnchorY, Npp32s iDivisor)
 Apply convolution filter with user specified weights for 1D column wise mask.
NppStatus nppiFilterColumn_8u_C4R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oROI, const Npp32s *pKernel, Npp32s nMaskSize, Npp32s nAnchor, Npp32s nDivisor)
NppStatus nppiFilterRow_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oROI, const Npp32s *pKernel, Npp32s iKernelDim, Npp32s iAnchorX, Npp32s iDivisor)
 Apply general linear Row convolution filter, with rescaling, in a 1D mask region around each source pixel for 1-channel 8 bit/pixel images.
NppStatus nppiFilterRow_8u_C4R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oROI, const Npp32s *pKernel, Npp32s nMaskSize, Npp32s nAnchor, Npp32s nDivisor)
1D Window Sum
1D mask Window Sum for 8 bit images.

NppStatus nppiSumWindowColumn_8u32f_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp32f *pDst, Npp32s nDstStep, NppiSize oROI, Npp32s nMaskSize, Npp32s nAnchor)
 Apply Column Window Summation filter over a 1D mask region around each source pixel for 1-channel 8 bit/pixel input images with 32 bit float output.
NppStatus nppiSumWindowRow_8u32f_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp32f *pDst, Npp32s nDstStep, NppiSize oROI, Npp32s iMaskDim, Npp32s iAnchorX)
 Apply Row Window Summation filter over a 1D mask region around each source pixel for 1-channel 8 bit/pixel input images with 32 bit float output.
2D Morphology Filter
2D masked Dilate/Erode for 8 bit images.

NppStatus nppiDilate_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, const Npp8u *pMask, NppiSize oMaskSize, NppiPoint oAnchor)
 Apply masked Dilation filter in a 2D mask region around each source pixel for 1-channel 8 bit/pixel images.
NppStatus nppiDilate_8u_C4R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oSizeROI, const Npp8u *pMask, NppiSize oMaskSize, NppiPoint oAnchor)
NppStatus nppiErode_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, const Npp8u *pMask, NppiSize oMaskSize, NppiPoint oAnchor)
 Apply masked Erosion filter in a 2D mask region around each source pixel for 1-channel 8 bit/pixel images.
NppStatus nppiErode_8u_C4R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, const Npp8u *pMask, NppiSize oMaskSize, NppiPoint oAnchor)
2D Linear Variable Filters
2D linear filters with variable mask kernels for 8 bit images.

NppStatus nppiFilter_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, const Npp32s *pKernel, NppiSize oKernelSize, NppiPoint oAnchor, Npp32s nDivisor)
 Apply general linear 2D convolution filter, with scaling, for 1-channel 8 bit/pixel images.
NppStatus nppiFilter_8u_C4R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, const Npp32s *pKernel, NppiSize oKernelSize, NppiPoint oAnchor, Npp32s nDivisor)
2D Linear Fixed Filters
2D linear fixed filters for 8 bit images.

NppStatus nppiFilterBox_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, NppiSize oMaskSize, NppiPoint oAnchor)
 Find average local pixel value in a 2D mask region around each source pixel for 1-channel 8bit/pixel images.
NppStatus nppiFilterBox_8u_C4R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, NppiSize oMaskSize, NppiPoint oAnchor)
2D Tile Max/Median/Min
2D mask Max/Median/Min for 8 bit images.

NppStatus nppiFilterMax_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, NppiSize oMaskSize, NppiPoint oAnchor)
 Find Maximum local pixel value in a 2D mask region around each source pixel for 1-channel 8bit/pixel images.
NppStatus nppiFilterMax_8u_C4R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, NppiSize oMaskSize, NppiPoint oAnchor)
NppStatus nppiFilterMin_8u_C1R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, NppiSize oMaskSize, NppiPoint oAnchor)
 Find Minimum local pixel value in a 2D mask region around each source pixel for 1-channel 8bit/pixel images.
NppStatus nppiFilterMin_8u_C4R (const Npp8u *pSrc, Npp32s nSrcStep, Npp8u *pDst, Npp32s nDstStep, NppiSize oSizeROI, NppiSize oMaskSize, NppiPoint oAnchor)
JPEG DCT, Quantization and Level Shift Functions
Jpeg standard defines a flow of level shift, DCT and quantization for forward JPEG transform and inverse level shift, IDCT and de-quantization for inverse JPEG transform.

This group has the functions for both forward and inverse functions.

NppStatus nppiQuantFwdRawTableInit_JPEG_8u (Npp8u *pQuantRawTable, int nQualityFactor)
 Converts regular quantization tables with the quality factor.
NppStatus nppiQuantFwdTableInit_JPEG_8u16u (const Npp8u *pQuantRawTable, Npp16u *pQuantFwdRawTable)
 Converts raw quantization table to a forward quantization table.
NppStatus nppiQuantInvTableInit_JPEG_8u16u (const Npp8u *pQuantRawTable, Npp16u *pQuantFwdRawTable)
 Converts raw quantization table to an inverse quantization table.
NppStatus nppiSetDefaultQuantTable (Npp8u *pQuantRawTable, int tableIndex)
 Fills out the quantization table with either luminance and chrominance tables for JPEG.
NppStatus nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R (Npp16s *pSrc, int srcStep, Npp8u *pDst, int dstStep, const Npp16u *pQuantInvTable, NppiSize oSizeROI)
 Inverse DCT, de-quantization and level shift part of the JPEG decoding.
NppStatus nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R (Npp8u *pSrc, int srcStep, Npp16s *pDst, int dstStep, const Npp16u *pQuantFwdTable, NppiSize oSizeROI)
 Forward DCT, quantization and level shift part of the JPEG encoding.
NppStatus nppiSqrIntegral_8u32s32f_C1R (Npp8u *pSrc, int nSrcStep, Npp32s *pDst, int nDstStep, Npp32f *pSqr, int nSqrStep, NppiSize srcROI, Npp32s val, Npp32f valSqr, Npp32s integralImageNewHeight)
 SqrIntegral Transforms an image to integral and integral of pixel squares representation.
Sum
Sum of 8 bit images.

NppStatus nppiSum_8u_C1R (const Npp8u *pSrc, int nSrcStep, NppiSize oROI, Npp64f *pSum)
 Sum 8bit single channel image.
NppStatus nppiSum_8u_C4R (const Npp8u *pSrc, int nSrcStep, NppiSize oROI, Npp64f aSum[4])
 Sum 8bit four channel image.
Minmax
Minimum and maximum of 8bit images.

NppStatus nppiMinMax_8u_C1R (const Npp8u *pSrc, int nSrcStep, NppiSize oROI, Npp8u *pMin, Npp8u *pMax)
 Minimum and Maximum of 8bit single channel image.
NppStatus nppiMinMax_8u_C4R (const Npp8u *pSrc, int nSrcStep, NppiSize oROI, Npp8u cuMin[4], Npp8u cuMax[4])
 Minimum and Maximum of 8bit four channel image.
Resize
Resizes 8 bit images.

Handles C1 and C4 images.

NppStatus nppiResize_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int nSrcStep, NppiRect srcROI, Npp8u *pDst, int nDstStep, NppiSize dstROISize, double xFactor, double yFactor, int interpolation)
 Resize 8bit single channel image.
NppStatus nppiResize_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int nSrcStep, NppiRect srcROI, Npp8u *pDst, int nDstStep, NppiSize dstROISize, double xFactor, double yFactor, int interpolation)
 Resize 8bit four channel image.
Rotate
Rotates an image around the origin (0,0) and then shifts it.

NppStatus nppiRotate_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int nSrcStep, NppiRect srcROI, Npp8u *pDst, int nDstStep, NppiRect dstROI, double angle, double xShift, double yShift, int interpolation)
 Rotate 8bit single channel image.
NppStatus nppiRotate_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int nSrcStep, NppiRect srcROI, Npp8u *pDst, int nDstStep, NppiRect dstROI, double angle, double xShift, double yShift, int interpolation)
 Rotate 8bit four channel image.
Mirror
Mirrors 8bit images about either the horizontal, vertical or both axis.

NppStatus nppiMirror_8u_C1R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oROI, NppiAxis flip)
 Mirror 8bit single channel image.
NppStatus nppiMirror_8u_C4R (const Npp8u *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, NppiSize oROI, NppiAxis flip)
 Mirror 8bit four channel image.
RGBToYCbCr
RGB to YCbCr color conversion.

NppStatus nppiRGBToYCbCr_8u_C3R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI)
 RGB to YCbCr color conversion for 3-channel pixel-packed 8bit/pixel images.
NppStatus nppiRGBToYCbCr422_8u_C3C2R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI)
 RGB to YCbCr422 (2-channel pixel-packed) color conversion for 8bit/pixel images.
NppStatus nppiRGBToYCbCr420_8u_C3P3R (const Npp8u *pSrc, int srcStep, Npp8u **pDst, int dstStep[3], NppiSize oSizeROI)
 RGB to YCbCr420 (3-plane) color conversion for 8bit/pixel images.
NppStatus nppiRGBToYCbCr_8u_P3R (const Npp8u *const *pSrc, int srcStep, Npp8u **pDst, int dstStep, NppiSize oSizeROI)
 RGB to YCbCr color conversion for 3-channel planar 8bit/pixel images.
NppStatus nppiRGBToYCbCr_8u_AC4R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI)
 RGB to YCbCr color conversion for 4-channel pixel-packed 8bit/pixel images.
YCbCrToRGB
YCbCr to RGB color conversion.

NppStatus nppiYCbCrToRGB_8u_C3R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI)
 YCbCr to RGB color conversion for 3-channel pixel-packed 8bit/pixel images.
NppStatus nppiYCbCrToRGB_8u_AC4R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI)
 YCbCr to RGB color conversion for 3-channel planar 8bit/pixel images.
NppStatus nppiYCbCr422ToRGB_8u_C2C3R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI)
 YCbCr422 (2-channel pixel-packed) to RGB color conversion for 8bit/pixel images.
NppStatus nppiYCbCr420ToRGB_8u_P3C3R (const Npp8u *const *pSrc, int srcStep[3], Npp8u *pDst, int dstStep, NppiSize oSizeROI)
 YCbCr420 (3-plane) to RGB color conversion for 8bit/pixel images.
ColorTwist32f
YCbCr:420 to YCbCr:411 spatial sampling conversion for 3-planes in 2-planes out planar 8bit/pixel images.

Parameters:
pSrc Array of pointers to the source image planes.
aSrcStep Array with distances in bytes between starts of consecutive lines of the source image planes.
pDstY Pointer to the destination ROI of Y-channel.
nDstYStep Distance in bytes between starts of consecutive lines of the destination Y-channel.
pDstCbCr Pointer to the destination ROI of CbCr destination image.
nDstCbCrStep Distance in bytes between starts of consecutive lines of the interleaved CbCr destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails. Color mapping function.



NppStatus nppiColorTwist32f_8u_C3R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI, const Npp32f twist[3][4])
 Color mapping functions for 3-channel pixel-packed 8bit/pixel images.
NppStatus nppiColorTwist32f_8u_AC4R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI, const Npp32f twist[3][4])
 Color mapping functions for 3-channel planar 8bit/pixel images.
LUT_Linear
Look-up table (LUT) mapping function.

NppStatus nppiLUT_Linear_8u_C1R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI, const Npp32s *pValues, const Npp32s *pLevels, int nLevels)
 Look-up table (LUT) mapping functions for 1-channel 8bit/pixel images.
NppStatus nppiLUT_Linear_8u_C3R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI, const Npp32s *pValues[3], const Npp32s *pLevels[3], int nLevels[3])
 Look-up table (LUT) mapping functions for 3-channel pixel-packed 8bit/pixel images.
NppStatus nppiLUT_Linear_8u_AC4R (const Npp8u *pSrc, int srcStep, Npp8u *pDst, int dstStep, NppiSize oSizeROI, const Npp32s *pValues[4], const Npp32s *pLevels[4], int nLevels[4])
 Look-up table (LUT) mapping functions for 4-channel pixel-packed 8bit/pixel images.
CannyGetSize
Calculate the size of a temporary buffer needed for the Canny function.

Parameters:
roiSize Size of the image ROI in pixels
pBufSize Pointer to the computed size of the temporary buffer
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR indicates an error condition if pBufSize point is NULL

NPP_SIZE_ERROR if roiSize has a field with zero or negative value



NppStatus nppiCannyGetSize (NppiSize roiSize, int *pSufSize)
Affine warping, affine transform calculation
Affine warping of an image is the transform of image pixel positions, defined by the following formulas:

\[ X_{new} = C_{00} * x + C_{01} * y + C_{02} \qquad Y_{new} = C_{10} * x + C_{11} * y + C_{12} \qquad C = \left[ \matrix{C_{00} & C_{01} & C_{02} \cr C_{10} & C_{11} & C_{12} } \right] \]

That is, any pixel of the transformed image with coordinates $(X_{new},Y_{new})$ has a preimage with coordinates $(x,y)$.

The mapping $C$ is fully defined by 6 values $C_{ij}, i=\overline{0,1}, j=\overline{0,2}$. The transform has a properties of mapping any parallel lines to parallel lines and preserving ratios of distances between points on a line. The NPPI implementation of affine transform has some issues which are discussed in each function's documentation.

NppStatus nppiGetAffineTransform (NppiRect srcRoi, const double quad[4][2], double coeffs[2][3])
 Calculates affine transform coefficients given source rectangular ROI and its destination quadrangle projection.
NppStatus nppiGetAffineQuad (NppiRect srcRoi, double quad[4][2], const double coeffs[2][3])
 Calculates affine transform projection of given source rectangular ROI.
NppStatus nppiGetAffineBound (NppiRect srcRoi, double bound[2][2], const double coeffs[2][3])
 Calculates bounding box of the affine transform projection of the given source rectangular ROI.
NppStatus nppiWarpAffine_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (8bit unsigned integer, single channel).
NppStatus nppiWarpAffine_8u_C3R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (8bit unsigned integer, three channels).
NppStatus nppiWarpAffine_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (8bit unsigned integer, four channels).
NppStatus nppiWarpAffine_8u_AC4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (8bit unsigned integer, four channels RGBA).
NppStatus nppiWarpAffine_8u_P3R (const Npp8u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (8bit unsigned integer, three planes).
NppStatus nppiWarpAffine_8u_P4R (const Npp8u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (8bit unsigned integer, four planes).
NppStatus nppiWarpAffineBack_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (8bit unsigned integer, single channel).
NppStatus nppiWarpAffineBack_8u_C3R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (8bit unsigned integer, three channels).
NppStatus nppiWarpAffineBack_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (8bit unsigned integer, four channels).
NppStatus nppiWarpAffineBack_8u_AC4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (8bit unsigned integer, four channels RGBA).
NppStatus nppiWarpAffineBack_8u_P3R (const Npp8u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (8bit unsigned integer, three planes).
NppStatus nppiWarpAffineBack_8u_P4R (const Npp8u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (8bit unsigned integer, four planes).
NppStatus nppiWarpAffineQuad_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (8bit unsigned integer, single channel).
NppStatus nppiWarpAffineQuad_8u_C3R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (8bit unsigned integer, three channels).
NppStatus nppiWarpAffineQuad_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (8bit unsigned integer, four channels).
NppStatus nppiWarpAffineQuad_8u_AC4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (8bit unsigned integer, four channels RGBA).
NppStatus nppiWarpAffineQuad_8u_P3R (const Npp8u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (8bit unsigned integer, three planes).
NppStatus nppiWarpAffineQuad_8u_P4R (const Npp8u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (8bit unsigned integer, four planes).
NppStatus nppiWarpAffine_16u_C1R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (16bit unsigned integer, single channel).
NppStatus nppiWarpAffine_16u_C3R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (16bit unsigned integer, three channels).
NppStatus nppiWarpAffine_16u_C4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (16bit unsigned integer, four channels).
NppStatus nppiWarpAffine_16u_AC4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (16bit unsigned integer, four channels RGBA).
NppStatus nppiWarpAffine_16u_P3R (const Npp16u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (16bit unsigned integer, three planes).
NppStatus nppiWarpAffine_16u_P4R (const Npp16u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (16bit unsigned integer, four planes).
NppStatus nppiWarpAffineBack_16u_C1R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (16bit unsigned integer, single channel).
NppStatus nppiWarpAffineBack_16u_C3R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (16bit unsigned integer, three channels).
NppStatus nppiWarpAffineBack_16u_C4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (16bit unsigned integer, four channels).
NppStatus nppiWarpAffineBack_16u_AC4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (16bit unsigned integer, four channels RGBA).
NppStatus nppiWarpAffineBack_16u_P3R (const Npp16u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (16bit unsigned integer, three planes).
NppStatus nppiWarpAffineBack_16u_P4R (const Npp16u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (16bit unsigned integer, four planes).
NppStatus nppiWarpAffineQuad_16u_C1R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (16bit unsigned integer, single channel).
NppStatus nppiWarpAffineQuad_16u_C3R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (16bit unsigned integer, three channels).
NppStatus nppiWarpAffineQuad_16u_C4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (16bit unsigned integer, four channels).
NppStatus nppiWarpAffineQuad_16u_AC4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (16bit unsigned integer, four channels RGBA).
NppStatus nppiWarpAffineQuad_16u_P3R (const Npp16u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (16bit unsigned integer, three planes).
NppStatus nppiWarpAffineQuad_16u_P4R (const Npp16u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (16bit unsigned integer, four planes).
NppStatus nppiWarpAffine_32f_C1R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit float, single channel).
NppStatus nppiWarpAffine_32f_C3R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit float, three channels).
NppStatus nppiWarpAffine_32f_C4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit float, four channels).
NppStatus nppiWarpAffine_32f_AC4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit float, four channels RGBA).
NppStatus nppiWarpAffine_32f_P3R (const Npp32f *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit float, three planes).
NppStatus nppiWarpAffine_32f_P4R (const Npp32f *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit float, four planes).
NppStatus nppiWarpAffineBack_32f_C1R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit float, single channel).
NppStatus nppiWarpAffineBack_32f_C3R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit float, three channels).
NppStatus nppiWarpAffineBack_32f_C4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit float, four channels).
NppStatus nppiWarpAffineBack_32f_AC4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit float, four channels RGBA).
NppStatus nppiWarpAffineBack_32f_P3R (const Npp32f *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit float, three planes).
NppStatus nppiWarpAffineBack_32f_P4R (const Npp32f *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit float, four planes).
NppStatus nppiWarpAffineQuad_32f_C1R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit float, single channel).
NppStatus nppiWarpAffineQuad_32f_C3R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit float, three channels).
NppStatus nppiWarpAffineQuad_32f_C4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit float, four channels).
NppStatus nppiWarpAffineQuad_32f_AC4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit float, four channels RGBA).
NppStatus nppiWarpAffineQuad_32f_P3R (const Npp32f *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit float, three planes).
NppStatus nppiWarpAffineQuad_32f_P4R (const Npp32f *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit float, four planes).
NppStatus nppiWarpAffine_32s_C1R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit signed integer, single channel).
NppStatus nppiWarpAffine_32s_C3R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit signed integer, three channels).
NppStatus nppiWarpAffine_32s_C4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit signed integer, four channels).
NppStatus nppiWarpAffine_32s_AC4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit signed integer, four channels RGBA).
NppStatus nppiWarpAffine_32s_P3R (const Npp32s *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit signed integer, three planes).
NppStatus nppiWarpAffine_32s_P4R (const Npp32s *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Affine transform of an image (32bit signed integer, four planes).
NppStatus nppiWarpAffineBack_32s_C1R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit signed integer, single channel).
NppStatus nppiWarpAffineBack_32s_C3R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit signed integer, three channels).
NppStatus nppiWarpAffineBack_32s_C4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit signed integer, four channels).
NppStatus nppiWarpAffineBack_32s_AC4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit signed integer, four channels RGBA).
NppStatus nppiWarpAffineBack_32s_P3R (const Npp32s *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit signed integer, three planes).
NppStatus nppiWarpAffineBack_32s_P4R (const Npp32s *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[2][3], int interpolation)
 Inverse affine transform of an image (32bit signed integer, four planes).
NppStatus nppiWarpAffineQuad_32s_C1R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit signed integer, single channel).
NppStatus nppiWarpAffineQuad_32s_C3R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit signed integer, three channels).
NppStatus nppiWarpAffineQuad_32s_C4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit signed integer, four channels).
NppStatus nppiWarpAffineQuad_32s_AC4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit signed integer, four channels RGBA).
NppStatus nppiWarpAffineQuad_32s_P3R (const Npp32s *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit signed integer, three planes).
NppStatus nppiWarpAffineQuad_32s_P4R (const Npp32s *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Affine transform of an image (32bit signed integer, four planes).
Perspective warping, perspective transform calculation
Perspective warping of an image is the transform of image pixel positions, defined by the following formulas:

\[ X_{new} = \frac{C_{00} * x + C_{01} * y + C_{02}}{C_{20} * x + C_{21} * y + C_{22}} \qquad Y_{new} = \frac{C_{10} * x + C_{11} * y + C_{12}}{C_{20} * x + C_{21} * y + C_{22}} \qquad C = \left[ \matrix{C_{00} & C_{01} & C_{02} \cr C_{10} & C_{11} & C_{12} \cr C_{20} & C_{21} & C_{22} } \right] \]

That is, any pixel of the transformed image with coordinates $(X_{new},Y_{new})$ has a preimage with coordinates $(x,y)$.

The mapping $C$ is fully defined by 8 values $C_{ij}, (i,j)=\overline{0,2}$, except of $C_{22}$, which is a normalizer. The transform has a property of mapping any convex quadrangle to a convex quadrangle, which is used in a group of functions nppiWarpPerspectiveQuad. The NPPI implementation of perspective transform has some issues which are discussed in each function's documentation.

NppStatus nppiGetPerspectiveTransform (NppiRect srcRoi, const double quad[4][2], double coeffs[3][3])
 Calculates perspective transform coefficients given source rectangular ROI and its destination quadrangle projection.
NppStatus nppiGetPerspectiveQuad (NppiRect srcRoi, double quad[4][2], const double coeffs[3][3])
 Calculates perspective transform projection of given source rectangular ROI.
NppStatus nppiGetPerspectiveBound (NppiRect srcRoi, double bound[2][2], const double coeffs[3][3])
 Calculates bounding box of the perspective transform projection of the given source rectangular ROI.
NppStatus nppiWarpPerspective_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (8bit unsigned integer, single channel).
NppStatus nppiWarpPerspective_8u_C3R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (8bit unsigned integer, three channels).
NppStatus nppiWarpPerspective_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (8bit unsigned integer, four channels).
NppStatus nppiWarpPerspective_8u_AC4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (8bit unsigned integer, four channels RGBA).
NppStatus nppiWarpPerspective_8u_P3R (const Npp8u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (8bit unsigned integer, three planes).
NppStatus nppiWarpPerspective_8u_P4R (const Npp8u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (8bit unsigned integer, four planes).
NppStatus nppiWarpPerspectiveBack_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (8bit unsigned integer, single channel).
NppStatus nppiWarpPerspectiveBack_8u_C3R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (8bit unsigned integer, three channels).
NppStatus nppiWarpPerspectiveBack_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (8bit unsigned integer, four channels).
NppStatus nppiWarpPerspectiveBack_8u_AC4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (8bit unsigned integer, four channels RGBA).
NppStatus nppiWarpPerspectiveBack_8u_P3R (const Npp8u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (8bit unsigned integer, three planes).
NppStatus nppiWarpPerspectiveBack_8u_P4R (const Npp8u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp8u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (8bit unsigned integer, four planes).
NppStatus nppiWarpPerspectiveQuad_8u_C1R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (8bit unsigned integer, single channel).
NppStatus nppiWarpPerspectiveQuad_8u_C3R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (8bit unsigned integer, three channels).
NppStatus nppiWarpPerspectiveQuad_8u_C4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (8bit unsigned integer, four channels).
NppStatus nppiWarpPerspectiveQuad_8u_AC4R (const Npp8u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (8bit unsigned integer, four channels RGBA).
NppStatus nppiWarpPerspectiveQuad_8u_P3R (const Npp8u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (8bit unsigned integer, three planes).
NppStatus nppiWarpPerspectiveQuad_8u_P4R (const Npp8u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp8u *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (8bit unsigned integer, four planes).
NppStatus nppiWarpPerspective_16u_C1R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (16bit unsigned integer, single channel).
NppStatus nppiWarpPerspective_16u_C3R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (16bit unsigned integer, three channels).
NppStatus nppiWarpPerspective_16u_C4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (16bit unsigned integer, four channels).
NppStatus nppiWarpPerspective_16u_AC4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (16bit unsigned integer, four channels RGBA).
NppStatus nppiWarpPerspective_16u_P3R (const Npp16u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (16bit unsigned integer, three planes).
NppStatus nppiWarpPerspective_16u_P4R (const Npp16u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (16bit unsigned integer, four planes).
NppStatus nppiWarpPerspectiveBack_16u_C1R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (16bit unsigned integer, single channel).
NppStatus nppiWarpPerspectiveBack_16u_C3R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (16bit unsigned integer, three channels).
NppStatus nppiWarpPerspectiveBack_16u_C4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (16bit unsigned integer, four channels).
NppStatus nppiWarpPerspectiveBack_16u_AC4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (16bit unsigned integer, four channels RGBA).
NppStatus nppiWarpPerspectiveBack_16u_P3R (const Npp16u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (16bit unsigned integer, three planes).
NppStatus nppiWarpPerspectiveBack_16u_P4R (const Npp16u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp16u *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (16bit unsigned integer, four planes).
NppStatus nppiWarpPerspectiveQuad_16u_C1R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (16bit unsigned integer, single channel).
NppStatus nppiWarpPerspectiveQuad_16u_C3R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (16bit unsigned integer, three channels).
NppStatus nppiWarpPerspectiveQuad_16u_C4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (16bit unsigned integer, four channels).
NppStatus nppiWarpPerspectiveQuad_16u_AC4R (const Npp16u *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (16bit unsigned integer, four channels RGBA).
NppStatus nppiWarpPerspectiveQuad_16u_P3R (const Npp16u *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (16bit unsigned integer, three planes).
NppStatus nppiWarpPerspectiveQuad_16u_P4R (const Npp16u *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp16u *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (16bit unsigned integer, four planes).
NppStatus nppiWarpPerspective_32f_C1R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit float, single channel).
NppStatus nppiWarpPerspective_32f_C3R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit float, three channels).
NppStatus nppiWarpPerspective_32f_C4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit float, four channels).
NppStatus nppiWarpPerspective_32f_AC4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit float, four channels RGBA).
NppStatus nppiWarpPerspective_32f_P3R (const Npp32f *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit float, three planes).
NppStatus nppiWarpPerspective_32f_P4R (const Npp32f *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit float, four planes).
NppStatus nppiWarpPerspectiveBack_32f_C1R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit float, single channel).
NppStatus nppiWarpPerspectiveBack_32f_C3R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit float, three channels).
NppStatus nppiWarpPerspectiveBack_32f_C4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit float, four channels).
NppStatus nppiWarpPerspectiveBack_32f_AC4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit float, four channels RGBA).
NppStatus nppiWarpPerspectiveBack_32f_P3R (const Npp32f *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit float, three planes).
NppStatus nppiWarpPerspectiveBack_32f_P4R (const Npp32f *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32f *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit float, four planes).
NppStatus nppiWarpPerspectiveQuad_32f_C1R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit float, single channel).
NppStatus nppiWarpPerspectiveQuad_32f_C3R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit float, three channels).
NppStatus nppiWarpPerspectiveQuad_32f_C4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit float, four channels).
NppStatus nppiWarpPerspectiveQuad_32f_AC4R (const Npp32f *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit float, four channels RGBA).
NppStatus nppiWarpPerspectiveQuad_32f_P3R (const Npp32f *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit float, three planes).
NppStatus nppiWarpPerspectiveQuad_32f_P4R (const Npp32f *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32f *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit float, four planes).
NppStatus nppiWarpPerspective_32s_C1R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit signed integer, single channel).
NppStatus nppiWarpPerspective_32s_C3R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit signed integer, three channels).
NppStatus nppiWarpPerspective_32s_C4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit signed integer, four channels).
NppStatus nppiWarpPerspective_32s_AC4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit signed integer, four channels RGBA).
NppStatus nppiWarpPerspective_32s_P3R (const Npp32s *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit signed integer, three planes).
NppStatus nppiWarpPerspective_32s_P4R (const Npp32s *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Perspective transform of an image (32bit signed integer, four planes).
NppStatus nppiWarpPerspectiveBack_32s_C1R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit signed integer, single channel).
NppStatus nppiWarpPerspectiveBack_32s_C3R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit signed integer, three channels).
NppStatus nppiWarpPerspectiveBack_32s_C4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit signed integer, four channels).
NppStatus nppiWarpPerspectiveBack_32s_AC4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst, int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit signed integer, four channels RGBA).
NppStatus nppiWarpPerspectiveBack_32s_P3R (const Npp32s *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[3], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit signed integer, three planes).
NppStatus nppiWarpPerspectiveBack_32s_P4R (const Npp32s *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, Npp32s *pDst[4], int dstStep, NppiRect dstRoi, const double coeffs[3][3], int interpolation)
 Inverse perspective transform of an image (32bit signed integer, four planes).
NppStatus nppiWarpPerspectiveQuad_32s_C1R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit signed integer, single channel).
NppStatus nppiWarpPerspectiveQuad_32s_C3R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit signed integer, three channels).
NppStatus nppiWarpPerspectiveQuad_32s_C4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit signed integer, four channels).
NppStatus nppiWarpPerspectiveQuad_32s_AC4R (const Npp32s *pSrc, NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst, int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit signed integer, four channels RGBA).
NppStatus nppiWarpPerspectiveQuad_32s_P3R (const Npp32s *pSrc[3], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst[3], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit signed integer, three planes).
NppStatus nppiWarpPerspectiveQuad_32s_P4R (const Npp32s *pSrc[4], NppiSize srcSize, int srcStep, NppiRect srcRoi, const double srcQuad[4][2], Npp32s *pDst[4], int dstStep, NppiRect dstRoi, const double dstQuad[4][2], int interpolation)
 Perspective transform of an image (32bit signed integer, four planes).


Detailed Description

NPP Image Processing Functionality.


Function Documentation

NppStatus nppiCanny_32f8u_C1R ( const Npp32f pSrcDx,
int  nSrcDxStep,
const Npp32f pSrcDy,
int  nSrcDyStep,
Npp8u pDstEdges,
int  nDstEdgeStep,
NppiSize  oSizeROI,
Npp32f  nLowThreshold,
Npp32f  nHighThreshold,
Npp8u pBuffer 
)

Canny edge detection Find edges using the Canny algorithm.

This function requires a temporary working device buffer whose size should be computed by a prior call to nppiCannyGetSize.

Parameters:
pSrcDx Pointer to the source image ROI x-derivative.
nSrcDxStep Distance in bytes between starts of consecutive lines in the source image pSrcDx.
pSrcDy Pointer to the source image ROI y-derivative.
nSrcDyStep Distance in bytes between starts of consecutive lines in the source image pSrcDy
pDstEdges Pointer to the output array of the detected edges.
nDstEdgeStep Distance in bytes between starts of consecutive lines in the output image.
oSizeROI Width and height of the regions of interest.
nLowThreshold Lower threshold for edge detection.
nHighThreshold Upper threshold for edge detection.
pBuffer Pointer to the pre-allocated temporary buffer.
Returns:
NPP_SUCCESS For successful completion.

NPP_NULL_POINTER_ERROR if any of the pointer arguments is NULL.

NPP_SIZE_ERROR if roiSize has a zero or negative value in a field.

NPP_STEP_ERROR if any step is less than roiSize.width * 4

NPP_BAD_ARG_ERROR if lowThresh is negative of highThresh is less than lowThresh

NPP_NOT_EVEN_STEP_ERROR if any step size is not divisible by 4.

NPP_KERNEL_EXECUTION_ERROR if a CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NPP_MEM_ALLOC_ERR if internal texture buffer allocation fails

NPP_WARNING if the edge detection did not converge within the maximum number of iterations

NppStatus nppiCannyGetSize ( NppiSize  roiSize,
int *  pSufSize 
)

NppStatus nppiColorTwist32f_8u_AC4R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI,
const Npp32f  twist[3][4] 
)

Color mapping functions for 3-channel planar 8bit/pixel images.

An input color twist matrix with floating-point pixel values is applied within ROI.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
twist The color twist matrix with floating-point pixel values.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails. Color mapping functions for 4-channel pixel-packed 8bit/pixel images. An input color twist matrix with floating-point pixel values is applied within ROI. Alpha channel is the last channel and is not processed.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
twist The color twist matrix with floating-point pixel values.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiColorTwist32f_8u_C3R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI,
const Npp32f  twist[3][4] 
)

Color mapping functions for 3-channel pixel-packed 8bit/pixel images.

An input color twist matrix with floating-point pixel values is applied within ROI.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
twist The color twist matrix with floating-point pixel values.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiGetAffineBound ( NppiRect  srcRoi,
double  bound[2][2],
const double  coeffs[2][3] 
)

Calculates bounding box of the affine transform projection of the given source rectangular ROI.

Parameters:
srcRoi [IN] Source ROI
bound [OUT] Bounding box of the transformed source ROI
coeffs [IN] Affine transform coefficients
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NppStatus nppiGetAffineQuad ( NppiRect  srcRoi,
double  quad[4][2],
const double  coeffs[2][3] 
)

Calculates affine transform projection of given source rectangular ROI.

Parameters:
srcRoi [IN] Source ROI
quad [OUT] Destination quadrangle
coeffs [IN] Affine transform coefficients
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NppStatus nppiGetAffineTransform ( NppiRect  srcRoi,
const double  quad[4][2],
double  coeffs[2][3] 
)

Calculates affine transform coefficients given source rectangular ROI and its destination quadrangle projection.

Parameters:
srcRoi [IN] Source ROI
quad [IN] Destination quadrangle
coeffs [OUT] Affine transform coefficients
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_AFFINE_QUAD_INCORRECT_WARNING Indicates a warning when quad doesn't conform to the transform properties. Fourth vertex is ignored, internally computed coordinates are used instead

NppStatus nppiGetPerspectiveBound ( NppiRect  srcRoi,
double  bound[2][2],
const double  coeffs[3][3] 
)

Calculates bounding box of the perspective transform projection of the given source rectangular ROI.

Parameters:
srcRoi [IN] Source ROI
bound [OUT] Bounding box of the transformed source ROI
coeffs [IN] Perspective transform coefficients
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NppStatus nppiGetPerspectiveQuad ( NppiRect  srcRoi,
double  quad[4][2],
const double  coeffs[3][3] 
)

Calculates perspective transform projection of given source rectangular ROI.

Parameters:
srcRoi [IN] Source ROI
quad [OUT] Destination quadrangle
coeffs [IN] Perspective transform coefficients
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NppStatus nppiGetPerspectiveTransform ( NppiRect  srcRoi,
const double  quad[4][2],
double  coeffs[3][3] 
)

Calculates perspective transform coefficients given source rectangular ROI and its destination quadrangle projection.

Parameters:
srcRoi [IN] Source ROI
quad [IN] Destination quadrangle
coeffs [OUT] Perspective transform coefficients
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NppStatus nppiLUT_Linear_8u_AC4R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI,
const Npp32s pValues[4],
const Npp32s pLevels[4],
int  nLevels[4] 
)

Look-up table (LUT) mapping functions for 4-channel pixel-packed 8bit/pixel images.

The LUT is derived from a set of user defined mapping points through linear interpolation. Alpha channel is the last channel and is not processed.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
pValues Double pointer to an [4] of arrays of user defined OUTPUT values per CHANNEL
pLevels Double pointer to an [4] of arrays of user defined INPUT values per CHANNEL
nLevels A [4] array of user defined input/output mapping points (levels) per CHANNEL
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2.

NppStatus nppiLUT_Linear_8u_C1R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI,
const Npp32s pValues,
const Npp32s pLevels,
int  nLevels 
)

Look-up table (LUT) mapping functions for 1-channel 8bit/pixel images.

The LUT is derived from a set of user defined mapping points through linear interpolation.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
pValues Pointer to an array of user defined OUTPUT values
pLevels Pointer to an array of user defined INPUT values
nLevels Number of user defined input/output mapping points (levels)
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2.

NppStatus nppiLUT_Linear_8u_C3R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI,
const Npp32s pValues[3],
const Npp32s pLevels[3],
int  nLevels[3] 
)

Look-up table (LUT) mapping functions for 3-channel pixel-packed 8bit/pixel images.

The LUT is derived from a set of user defined mapping points through linear interpolation.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
pValues Double pointer to an [3] of arrays of user defined OUTPUT values per CHANNEL
pLevels Double pointer to an [3] of arrays of user defined INPUT values per CHANNEL
nLevels A [3] array of user defined input/output mapping points (levels) per CHANNEL
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2.

NppStatus nppiMinMax_8u_C1R ( const Npp8u pSrc,
int  nSrcStep,
NppiSize  oROI,
Npp8u pMin,
Npp8u pMax 
)

Minimum and Maximum of 8bit single channel image.

Parameters:
pSrc Pointer to the source ROI.
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
oROI Width and height of the regions of interest.
*pMin Host pointer where the result is stored..
*pMax Host pointer where the result is stored.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pMin, pMax or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMALLOC_ERR if a CUDA malloc used internally fails

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_MEMSET_ERR if CUDA memset call used internally fails.

NPP_MEMSET_ERR if CUDA memfree call used internally fails.

Note:
The results of this primitive are returned in HOST POINTERS.

NppStatus nppiMinMax_8u_C4R ( const Npp8u pSrc,
int  nSrcStep,
NppiSize  oROI,
Npp8u  cuMin[4],
Npp8u  cuMax[4] 
)

Minimum and Maximum of 8bit four channel image.

Parameters:
pSrc Pointer to the source ROI.
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
oROI Width and height of the regions of interest.
cuMin Device-pointer array where the result is stored.
cuMax Device-pointer array where the result is stored.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pMin, pMax or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMALLOC_ERR if a CUDA malloc used internally fails

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_MEMSET_ERR if CUDA memset call used internally fails.

NPP_MEMSET_ERR if CUDA memfree call used internally fails.

Note:
The results of this primitive are return in DEVICE POINTERS.

NppStatus nppiMirror_8u_C1R ( const Npp8u pSrc,
int  nSrcStep,
Npp8u pDst,
int  nDstStep,
NppiSize  oROI,
NppiAxis  flip 
)

Mirror 8bit single channel image.

Parameters:
pSrc Pointer to the source ROI.
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
nDstStep Distance in bytes between starts of consecutive lines of the destination image.
oROI Width and height of the regions of interest.
flip Specifies the axis about which the image is to be mirrored.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if either pSrc or pDst is NULL

NPP_SIZE_ERROR For negative input height/width.

NPP_STEP_ERROR If nSrcStep or nDstStep is null or negative or if the ROI-width exceeds on of the step-sizes or if nSrcStep or nDstStep are not 4-byte aligned. .

NPP_MIRROR_FLIP_ERR if flip has an illegal value.

NPP_TEXTURE_BIND_ERROR if either CUDA texture bind or unbind API call fails.

NPP_CUDA_KERNEL_EXECUTION_ERROR If CUDA kernel could not be executed.

NppStatus nppiMirror_8u_C4R ( const Npp8u pSrc,
int  nSrcStep,
Npp8u pDst,
int  nDstStep,
NppiSize  oROI,
NppiAxis  flip 
)

Mirror 8bit four channel image.

Parameters:
pSrc Pointer to the source ROI.
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
nDstStep Distance in bytes between starts of consecutive lines of the destination image.
oROI Width and height of the regions of interest.
flip Specifies the axis about which the image is to be mirrored.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if either pSrc or pDst is NULL

NPP_SIZE_ERROR For negative input height/width.

NPP_STEP_ERROR If nSrcStep or nDstStep is null or negative or if the ROI-width exceeds on of the step-sizes or if nSrcStep or nDstStep are not 4-byte aligned. .

NPP_MIRROR_FLIP_ERR if flip has an illegal value.

NPP_TEXTURE_BIND_ERROR if either CUDA texture bind or unbind API call fails.

NPP_CUDA_KERNEL_EXECUTION_ERROR If CUDA kernel could not be executed.

NppStatus nppiRectStdDev_32s32f_C1R ( const Npp32s pSrc,
int  nSrcStep,
const Npp32f pSqr,
int  nSqrStep,
Npp32f pDst,
int  nDstStep,
NppiSize  roiSize,
NppiRect  rect 
)

RectStdDev Computes the standard deviation of itnegral images.

Parameters:
pSrc Pointer to the source integral image.
nSrcStep Distance in bytes between start of consecutive lines in the source integral image.
pSqr Pointer to the ROI in the source integral image of pixel squares.
nSqrStep Distance in bytes between start of consecutive lines in the source integral image of pixel squares
pDst Pointer to the destination image ROI.
nDstStep Distance in bytes between start of consecutive lines in the destination image.
roiSize Size of destination image ROI in pixels (width and height).
rect rectangular window
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if one of the specified pointers is NULL

NPP_SIZE_ERROR if roiSize has a field with zero or negative value

NPP_SIZE_ERROR if rect.width or rect.height is less than or equal to zero or if rect.x or rect.y is less than zero.

NPP_STEP_ERROR if nSrcStep is less than (roiSize.width + rect.x + rect.width + 1)* sizeof(Npp32s) or if nSqrStep is less than (roiSize.width + rect.x + rect.width + 1)* sizeof(Npp32f) or if nDstStep is less than roiSize.width * sizeof(Npp32f).

NPP_NOT_EVEN_STEP_ERROR if either nSrcStep, nSqrStep or nDstStep is not divisible by 4.

NPP_CUDA_KERNEL_EXECUTION_ERROR if the CUDA kernel fails.

NPP_TEXTURE_BIND_ERROR if a CUDA texture bind or unbind operation fails.

NppStatus nppiResize_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  nSrcStep,
NppiRect  srcROI,
Npp8u pDst,
int  nDstStep,
NppiSize  dstROISize,
double  xFactor,
double  yFactor,
int  interpolation 
)

Resize 8bit single channel image.

Parameters:
pSrc Pointer to the source ROI.
srcSize Size in pixels of the source image
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
srcROI Region of interest in the source image.
pDst Pointer to the destination ROI.
nDstStep Distance in bytes between starts of consecutive lines of the destination image.
dstROISize Size in pixels of the destination image
xFactor Factors by which x dimension is changed
yFactor Factors by which y dimension is changed
interpolation The type of interpolation to perform resampling
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR indicates an error condition if eitehr pSrc or pDst pointer is NULL

NPP_SIZE_ERROR indicates an error condition if srcSize or dstRoiSize or srcROI has a field with zero or negative value.

NPP_WRONG_INTERSECTION_ROI_ERROR indicates an error condition if srcROIRect has no intersection with the source image.

NPP_RESIZE_NO_OPERATION_ERROR if either destination ROI width or height is less than 1 pixel.

NPP_RESIZE_FACTOR Indicates an error condition if eitehr xFactor or yFactor is less than or equal to zero.

NPP_INTERPOLATION_ERROR if interpolation has an illegal value.

NPP_KERNEL_EXECUTION_ERROR return value in case of a CUDA kernel failure.

NppStatus nppiResize_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  nSrcStep,
NppiRect  srcROI,
Npp8u pDst,
int  nDstStep,
NppiSize  dstROISize,
double  xFactor,
double  yFactor,
int  interpolation 
)

Resize 8bit four channel image.

Parameters:
pSrc Pointer to the source ROI.
srcSize Size in pixels of the source image
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
srcROI Region of interest in the source image.
pDst Pointer to the destination ROI.
nDstStep Distance in bytes between starts of consecutive lines of the destination image.
dstROISize Size in pixels of the destination image
xFactor Factors by which x dimension is changed
yFactor Factors by which y dimension is changed
interpolation The type of interpolation to perform resampling
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR indicates an error condition if eitehr pSrc or pDst pointer is NULL

NPP_SIZE_ERROR indicates an error condition if srcSize or dstRoiSize or srcROI has a field with zero or negative value.

NPP_WRONG_INTERSECTION_ROI_ERROR indicates an error condition if srcROIRect has no intersection with the source image.

NPP_RESIZE_NO_OPERATION_ERROR if either destination ROI width or height is less than 1 pixel.

NPP_RESIZE_FACTOR Indicates an error condition if eitehr xFactor or yFactor is less than or equal to zero.

NPP_INTERPOLATION_ERROR if interpolation has an illegal value.

NPP_KERNEL_EXECUTION_ERROR return value in case of a CUDA kernel failure.

NppStatus nppiRGBToYCbCr420_8u_C3P3R ( const Npp8u pSrc,
int  srcStep,
Npp8u **  pDst,
int  dstStep[3],
NppiSize  oSizeROI 
)

RGB to YCbCr420 (3-plane) color conversion for 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiRGBToYCbCr422_8u_C3C2R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI 
)

RGB to YCbCr422 (2-channel pixel-packed) color conversion for 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiRGBToYCbCr_8u_AC4R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI 
)

RGB to YCbCr color conversion for 4-channel pixel-packed 8bit/pixel images.

Alpha channel is the last channel and is not processed.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiRGBToYCbCr_8u_C3R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI 
)

RGB to YCbCr color conversion for 3-channel pixel-packed 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiRGBToYCbCr_8u_P3R ( const Npp8u *const *  pSrc,
int  srcStep,
Npp8u **  pDst,
int  dstStep,
NppiSize  oSizeROI 
)

RGB to YCbCr color conversion for 3-channel planar 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiRotate_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  nSrcStep,
NppiRect  srcROI,
Npp8u pDst,
int  nDstStep,
NppiRect  dstROI,
double  angle,
double  xShift,
double  yShift,
int  interpolation 
)

Rotate 8bit single channel image.

Parameters:
pSrc Pointer to the source ROI.
srcSize Size in pixels of the source image
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
srcROI Region of interest in the source image.
pDst Pointer to the destination ROI.
nDstStep Distance in bytes between starts of consecutive lines of the destination image.
dstROI Region of interest in the destination image.
angle The angle of rotation in degrees.
xShift Shift along horizontal axis
yShift Shift along vertical axis
interpolation The type of interpolation to perform resampling
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR indicates an error condition if either pSrc or pDst pointer is NULL. .*.

NPP_SIZE_ERROR indicates an error condition if any image dimension has zero or negative value.

NPP_STEP_ERROR indicates an error if nSrcStep or nDstStep has zero or negative value.

NPP_INTERPOLATION_ERROR if interpolation has an illegal value.

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1.

NPP_WRONG_INTERSECTION_ROI_ERROR indicates an error condition if srcROIRect has no intersection with the source image.

NPP_WRONG_INTERSECTION_QUAD_WARNING indicates a warning that no operation is performed if the transformed source ROI does not intersect the destination ROI.

NPP_KERNEL_EXECUTION_ERROR return value in case of a CUDA kernel failure.

NppStatus nppiRotate_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  nSrcStep,
NppiRect  srcROI,
Npp8u pDst,
int  nDstStep,
NppiRect  dstROI,
double  angle,
double  xShift,
double  yShift,
int  interpolation 
)

Rotate 8bit four channel image.

Parameters:
pSrc Pointer to the source ROI.
srcSize Size in pixels of the source image
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
srcROI Region of interest in the source image.
pDst Pointer to the destination ROI.
nDstStep Distance in bytes between starts of consecutive lines of the destination image.
dstROI Region of interest in the destination image.
angle The angle of rotation in degrees.
xShift Shift along horizontal axis
yShift Shift along vertical axis
interpolation The type of interpolation to perform resampling
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR indicates an error condition if either pSrc or pDst pointer is NULL. .*.

NPP_SIZE_ERROR indicates an error condition if any image dimension has zero or negative value.

NPP_STEP_ERROR indicates an error if nSrcStep or nDstStep has zero or negative value.

NPP_INTERPOLATION_ERROR if interpolation has an illegal value.

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1.

NPP_WRONG_INTERSECTION_ROI_ERROR indicates an error condition if srcROIRect has no intersection with the source image.

NPP_WRONG_INTERSECTION_QUAD_WARNING indicates a warning that no operation is performed if the transformed source ROI does not intersect the destination ROI.

NPP_KERNEL_EXECUTION_ERROR return value in case of a CUDA kernel failure.

NppStatus nppiSum_8u_C1R ( const Npp8u pSrc,
int  nSrcStep,
NppiSize  oROI,
Npp64f pSum 
)

Sum 8bit single channel image.

Parameters:
pSrc Pointer to the source ROI.
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
oROI Width and height of the regions of interest.
*pSum Contains computed sum. This is a host pointer.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMALLOC_ERR if a CUDA malloc used internally fails

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_MEMSET_ERR if CUDA memset call used internally fails.

NPP_MEMFREE_ERR if CUDA memfree call used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiSum_8u_C4R ( const Npp8u pSrc,
int  nSrcStep,
NppiSize  oROI,
Npp64f  aSum[4] 
)

Sum 8bit four channel image.

Parameters:
pSrc Pointer to the source ROI.
nSrcStep Distance in bytes between starts of consecutive lines of the source image.
oROI Width and height of the regions of interest.
aSum Array contains computed sum for each channel. This is a host pointer.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMALLOC_ERR if a CUDA malloc used internally fails

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_MEMSET_ERR if CUDA memset call used internally fails.

NPP_MEMFREE_ERR if CUDA memfree call used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NPP_STEP_ERROR if nSrcStep is not a multiple of 4

NppStatus nppiWarpAffine_16u_AC4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, four channels RGBA).

See also:
nppiWarpAffine_16u_C1R

NppStatus nppiWarpAffine_16u_C1R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = C_{00} * x + C_{01} * y + C_{02} \qquad Y_{new} = C_{10} * x + C_{11} * y + C_{12} \qquad \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpAffine_16u_C3R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, three channels).

See also:
nppiWarpAffine_16u_C1R

NppStatus nppiWarpAffine_16u_C4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, four channels).

See also:
nppiWarpAffine_16u_C1R

NppStatus nppiWarpAffine_16u_P3R ( const Npp16u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, three planes).

See also:
nppiWarpAffine_16u_C1R

NppStatus nppiWarpAffine_16u_P4R ( const Npp16u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, four planes).

See also:
nppiWarpAffine_16u_C1R

NppStatus nppiWarpAffine_32f_AC4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit float, four channels RGBA).

See also:
nppiWarpAffine_32f_C1R

NppStatus nppiWarpAffine_32f_C1R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit float, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = C_{00} * x + C_{01} * y + C_{02} \qquad Y_{new} = C_{10} * x + C_{11} * y + C_{12} \qquad \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpAffine_32f_C3R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit float, three channels).

See also:
nppiWarpAffine_32f_C1R

NppStatus nppiWarpAffine_32f_C4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit float, four channels).

See also:
nppiWarpAffine_32f_C1R

NppStatus nppiWarpAffine_32f_P3R ( const Npp32f pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit float, three planes).

See also:
nppiWarpAffine_32f_C1R

NppStatus nppiWarpAffine_32f_P4R ( const Npp32f pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit float, four planes).

See also:
nppiWarpAffine_32f_C1R

NppStatus nppiWarpAffine_32s_AC4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit signed integer, four channels RGBA).

See also:
nppiWarpAffine_32s_C1R

NppStatus nppiWarpAffine_32s_C1R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit signed integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = C_{00} * x + C_{01} * y + C_{02} \qquad Y_{new} = C_{10} * x + C_{11} * y + C_{12} \qquad \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpAffine_32s_C3R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit signed integer, three channels).

See also:
nppiWarpAffine_32s_C1R

NppStatus nppiWarpAffine_32s_C4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit signed integer, four channels).

See also:
nppiWarpAffine_32s_C1R

NppStatus nppiWarpAffine_32s_P3R ( const Npp32s pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit signed integer, three planes).

See also:
nppiWarpAffine_32s_C1R

NppStatus nppiWarpAffine_32s_P4R ( const Npp32s pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (32bit signed integer, four planes).

See also:
nppiWarpAffine_32s_C1R

NppStatus nppiWarpAffine_8u_AC4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, four channels RGBA).

See also:
nppiWarpAffine_8u_C1R

NppStatus nppiWarpAffine_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = C_{00} * x + C_{01} * y + C_{02} \qquad Y_{new} = C_{10} * x + C_{11} * y + C_{12} \qquad \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpAffine_8u_C3R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, three channels).

See also:
nppiWarpAffine_8u_C1R

NppStatus nppiWarpAffine_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, four channels).

See also:
nppiWarpAffine_8u_C1R

NppStatus nppiWarpAffine_8u_P3R ( const Npp8u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, three planes).

See also:
nppiWarpAffine_8u_C1R

NppStatus nppiWarpAffine_8u_P4R ( const Npp8u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, four planes).

See also:
nppiWarpAffine_8u_C1R

NppStatus nppiWarpAffineBack_16u_AC4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (16bit unsigned integer, four channels RGBA).

See also:
nppiWarpAffineBack_16u_C1R

NppStatus nppiWarpAffineBack_16u_C1R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (16bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpAffineBack. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ C_{00} * X_{new} + C_{01} * Y_{new} + C_{02} = x \qquad C_{10} * X_{new} + C_{11} * Y_{new} + C_{12} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpAffineBack_16u_C3R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (16bit unsigned integer, three channels).

See also:
nppiWarpAffineBack_16u_C1R

NppStatus nppiWarpAffineBack_16u_C4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (16bit unsigned integer, four channels).

See also:
nppiWarpAffineBack_16u_C1R

NppStatus nppiWarpAffineBack_16u_P3R ( const Npp16u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (16bit unsigned integer, three planes).

See also:
nppiWarpAffineBack_16u_C1R

NppStatus nppiWarpAffineBack_16u_P4R ( const Npp16u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (16bit unsigned integer, four planes).

See also:
nppiWarpAffineBack_16u_C1R

NppStatus nppiWarpAffineBack_32f_AC4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit float, four channels RGBA).

See also:
nppiWarpAffineBack_32f_C1R

NppStatus nppiWarpAffineBack_32f_C1R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit float, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpAffineBack. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ C_{00} * X_{new} + C_{01} * Y_{new} + C_{02} = x \qquad C_{10} * X_{new} + C_{11} * Y_{new} + C_{12} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpAffineBack_32f_C3R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit float, three channels).

See also:
nppiWarpAffineBack_32f_C1R

NppStatus nppiWarpAffineBack_32f_C4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit float, four channels).

See also:
nppiWarpAffineBack_32f_C1R

NppStatus nppiWarpAffineBack_32f_P3R ( const Npp32f pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit float, three planes).

See also:
nppiWarpAffineBack_32f_C1R

NppStatus nppiWarpAffineBack_32f_P4R ( const Npp32f pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit float, four planes).

See also:
nppiWarpAffineBack_32f_C1R

NppStatus nppiWarpAffineBack_32s_AC4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit signed integer, four channels RGBA).

See also:
nppiWarpAffineBack_32s_C1R

NppStatus nppiWarpAffineBack_32s_C1R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit signed integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpAffineBack. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ C_{00} * X_{new} + C_{01} * Y_{new} + C_{02} = x \qquad C_{10} * X_{new} + C_{11} * Y_{new} + C_{12} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpAffineBack_32s_C3R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit signed integer, three channels).

See also:
nppiWarpAffineBack_32s_C1R

NppStatus nppiWarpAffineBack_32s_C4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit signed integer, four channels).

See also:
nppiWarpAffineBack_32s_C1R

NppStatus nppiWarpAffineBack_32s_P3R ( const Npp32s pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit signed integer, three planes).

See also:
nppiWarpAffineBack_32s_C1R

NppStatus nppiWarpAffineBack_32s_P4R ( const Npp32s pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (32bit signed integer, four planes).

See also:
nppiWarpAffineBack_32s_C1R

NppStatus nppiWarpAffineBack_8u_AC4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (8bit unsigned integer, four channels RGBA).

See also:
nppiWarpAffineBack_8u_C1R

NppStatus nppiWarpAffineBack_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (8bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetAffineTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpAffineBack. The function operates on source and destination regions of interest. The affine warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ C_{00} * X_{new} + C_{01} * Y_{new} + C_{02} = x \qquad C_{10} * X_{new} + C_{11} * Y_{new} + C_{12} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetAffineQuad and nppiGetAffineBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Affine transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpAffineBack_8u_C3R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (8bit unsigned integer, three channels).

See also:
nppiWarpAffineBack_8u_C1R

NppStatus nppiWarpAffineBack_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (8bit unsigned integer, four channels).

See also:
nppiWarpAffineBack_8u_C1R

NppStatus nppiWarpAffineBack_8u_P3R ( const Npp8u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (8bit unsigned integer, three planes).

See also:
nppiWarpAffineBack_8u_C1R

NppStatus nppiWarpAffineBack_8u_P4R ( const Npp8u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[2][3],
int  interpolation 
)

Inverse affine transform of an image (8bit unsigned integer, four planes).

See also:
nppiWarpAffineBack_8u_C1R

NppStatus nppiWarpAffineQuad_16u_AC4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, four channels RGBA).

See also:
nppiWarpAffineQuad_16u_C1R

NppStatus nppiWarpAffineQuad_16u_C1R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, single channel).

This function performs affine warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpAffineQuad uses the same formulas for pixel mapping as in nppiWarpAffine function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NPP_AFFINE_QUAD_INCORRECT_WARNING Indicates a warning when quad doesn't conform to the transform properties. Fourth vertex is ignored, internally computed coordinates are used instead

NppStatus nppiWarpAffineQuad_16u_C3R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, three channels).

See also:
nppiWarpAffineQuad_16u_C1R

NppStatus nppiWarpAffineQuad_16u_C4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, four channels).

See also:
nppiWarpAffineQuad_16u_C1R

NppStatus nppiWarpAffineQuad_16u_P3R ( const Npp16u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, three planes).

See also:
nppiWarpAffineQuad_16u_C1R

NppStatus nppiWarpAffineQuad_16u_P4R ( const Npp16u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (16bit unsigned integer, four planes).

See also:
nppiWarpAffineQuad_16u_C1R

NppStatus nppiWarpAffineQuad_32f_AC4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit float, four channels RGBA).

See also:
nppiWarpAffineQuad_32f_C1R

NppStatus nppiWarpAffineQuad_32f_C1R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit float, single channel).

This function performs affine warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpAffineQuad uses the same formulas for pixel mapping as in nppiWarpAffine function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_AFFINE_QUAD_INCORRECT_WARNING Indicates a warning when quad doesn't conform to the transform properties. Fourth vertex is ignored, internally computed coordinates are used instead

NppStatus nppiWarpAffineQuad_32f_C3R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit float, three channels).

See also:
nppiWarpAffineQuad_32f_C1R

NppStatus nppiWarpAffineQuad_32f_C4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit float, four channels).

See also:
nppiWarpAffineQuad_32f_C1R

NppStatus nppiWarpAffineQuad_32f_P3R ( const Npp32f pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit float, three planes).

See also:
nppiWarpAffineQuad_32f_C1R

NppStatus nppiWarpAffineQuad_32f_P4R ( const Npp32f pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit float, four planes).

See also:
nppiWarpAffineQuad_32f_C1R

NppStatus nppiWarpAffineQuad_32s_AC4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit signed integer, four channels RGBA).

See also:
nppiWarpAffineQuad_32s_C1R

NppStatus nppiWarpAffineQuad_32s_C1R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit signed integer, single channel).

This function performs affine warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpAffineQuad uses the same formulas for pixel mapping as in nppiWarpAffine function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_AFFINE_QUAD_INCORRECT_WARNING Indicates a warning when quad doesn't conform to the transform properties. Fourth vertex is ignored, internally computed coordinates are used instead

NppStatus nppiWarpAffineQuad_32s_C3R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit signed integer, three channels).

See also:
nppiWarpAffineQuad_32s_C1R

NppStatus nppiWarpAffineQuad_32s_C4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit signed integer, four channels).

See also:
nppiWarpAffineQuad_32s_C1R

NppStatus nppiWarpAffineQuad_32s_P3R ( const Npp32s pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit signed integer, three planes).

See also:
nppiWarpAffineQuad_32s_C1R

NppStatus nppiWarpAffineQuad_32s_P4R ( const Npp32s pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (32bit signed integer, four planes).

See also:
nppiWarpAffineQuad_32s_C1R

NppStatus nppiWarpAffineQuad_8u_AC4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, four channels RGBA).

See also:
nppiWarpAffineQuad_8u_C1R

NppStatus nppiWarpAffineQuad_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, single channel).

This function performs affine warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpAffineQuad uses the same formulas for pixel mapping as in nppiWarpAffine function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NPP_AFFINE_QUAD_INCORRECT_WARNING Indicates a warning when quad doesn't conform to the transform properties. Fourth vertex is ignored, internally computed coordinates are used instead

NppStatus nppiWarpAffineQuad_8u_C3R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, three channels).

See also:
nppiWarpAffineQuad_8u_C1R

NppStatus nppiWarpAffineQuad_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, four channels).

See also:
nppiWarpAffineQuad_8u_C1R

NppStatus nppiWarpAffineQuad_8u_P3R ( const Npp8u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, three planes).

See also:
nppiWarpAffineQuad_8u_C1R

NppStatus nppiWarpAffineQuad_8u_P4R ( const Npp8u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Affine transform of an image (8bit unsigned integer, four planes).

See also:
nppiWarpAffineQuad_8u_C1R

NppStatus nppiWarpPerspective_16u_AC4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, four channels RGBA).

See also:
nppiWarpPerspective_16u_C1R

NppStatus nppiWarpPerspective_16u_C1R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = \frac{C_{00} * x + C_{01} * y + C_{02}}{C_{20} * x + C_{21} * y + C_{22}} \qquad Y_{new} = \frac{C_{10} * x + C_{11} * y + C_{12}}{C_{20} * x + C_{21} * y + C_{22}} \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpPerspective_16u_C3R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, three channels).

See also:
nppiWarpPerspective_16u_C1R

NppStatus nppiWarpPerspective_16u_C4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, four channels).

See also:
nppiWarpPerspective_16u_C1R

NppStatus nppiWarpPerspective_16u_P3R ( const Npp16u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, three planes).

See also:
nppiWarpPerspective_16u_C1R

NppStatus nppiWarpPerspective_16u_P4R ( const Npp16u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, four planes).

See also:
nppiWarpPerspective_16u_C1R

NppStatus nppiWarpPerspective_32f_AC4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit float, four channels RGBA).

See also:
nppiWarpPerspective_32f_C1R

NppStatus nppiWarpPerspective_32f_C1R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit float, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = \frac{C_{00} * x + C_{01} * y + C_{02}}{C_{20} * x + C_{21} * y + C_{22}} \qquad Y_{new} = \frac{C_{10} * x + C_{11} * y + C_{12}}{C_{20} * x + C_{21} * y + C_{22}} \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpPerspective_32f_C3R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit float, three channels).

See also:
nppiWarpPerspective_32f_C1R

NppStatus nppiWarpPerspective_32f_C4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit float, four channels).

See also:
nppiWarpPerspective_32f_C1R

NppStatus nppiWarpPerspective_32f_P3R ( const Npp32f pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit float, three planes).

See also:
nppiWarpPerspective_32f_C1R

NppStatus nppiWarpPerspective_32f_P4R ( const Npp32f pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit float, four planes).

See also:
nppiWarpPerspective_32f_C1R

NppStatus nppiWarpPerspective_32s_AC4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, four channels RGBA).

See also:
nppiWarpPerspective_32s_C1R

NppStatus nppiWarpPerspective_32s_C1R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = \frac{C_{00} * x + C_{01} * y + C_{02}}{C_{20} * x + C_{21} * y + C_{22}} \qquad Y_{new} = \frac{C_{10} * x + C_{11} * y + C_{12}}{C_{20} * x + C_{21} * y + C_{22}} \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpPerspective_32s_C3R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, three channels).

See also:
nppiWarpPerspective_32s_C1R

NppStatus nppiWarpPerspective_32s_C4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, four channels).

See also:
nppiWarpPerspective_32s_C1R

NppStatus nppiWarpPerspective_32s_P3R ( const Npp32s pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, three planes).

See also:
nppiWarpPerspective_32s_C1R

NppStatus nppiWarpPerspective_32s_P4R ( const Npp32s pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, four planes).

See also:
nppiWarpPerspective_32s_C1R

NppStatus nppiWarpPerspective_8u_AC4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, four channels RGBA).

See also:
nppiWarpPerspective_8u_C1R

NppStatus nppiWarpPerspective_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ X_{new} = \frac{C_{00} * x + C_{01} * y + C_{02}}{C_{20} * x + C_{21} * y + C_{22}} \qquad Y_{new} = \frac{C_{10} * x + C_{11} * y + C_{12}}{C_{20} * x + C_{21} * y + C_{22}} \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpPerspective_8u_C3R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, three channels).

See also:
nppiWarpPerspective_8u_C1R

NppStatus nppiWarpPerspective_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, four channels).

See also:
nppiWarpPerspective_8u_C1R

NppStatus nppiWarpPerspective_8u_P3R ( const Npp8u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, three planes).

See also:
nppiWarpPerspective_8u_C1R

NppStatus nppiWarpPerspective_8u_P4R ( const Npp8u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, four planes).

See also:
nppiWarpPerspective_8u_C1R

NppStatus nppiWarpPerspectiveBack_16u_AC4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (16bit unsigned integer, four channels RGBA).

See also:
nppiWarpPerspectiveBack_16u_C1R

NppStatus nppiWarpPerspectiveBack_16u_C1R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (16bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpPerspectiveBack. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ \frac{C_{00} * X_{new} + C_{01} * Y_{new} + C_{02}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = x \qquad \frac{C_{10} * X_{new} + C_{11} * Y_{new} + C_{12}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpPerspectiveBack_16u_C3R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (16bit unsigned integer, three channels).

See also:
nppiWarpPerspectiveBack_16u_C1R

NppStatus nppiWarpPerspectiveBack_16u_C4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (16bit unsigned integer, four channels).

See also:
nppiWarpPerspectiveBack_16u_C1R

NppStatus nppiWarpPerspectiveBack_16u_P3R ( const Npp16u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (16bit unsigned integer, three planes).

See also:
nppiWarpPerspectiveBack_16u_C1R

NppStatus nppiWarpPerspectiveBack_16u_P4R ( const Npp16u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp16u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (16bit unsigned integer, four planes).

See also:
nppiWarpPerspectiveBack_16u_C1R

NppStatus nppiWarpPerspectiveBack_32f_AC4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit float, four channels RGBA).

See also:
nppiWarpPerspectiveBack_32f_C1R

NppStatus nppiWarpPerspectiveBack_32f_C1R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit float, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpPerspectiveBack. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ \frac{C_{00} * X_{new} + C_{01} * Y_{new} + C_{02}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = x \qquad \frac{C_{10} * X_{new} + C_{11} * Y_{new} + C_{12}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpPerspectiveBack_32f_C3R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit float, three channels).

See also:
nppiWarpPerspectiveBack_32f_C1R

NppStatus nppiWarpPerspectiveBack_32f_C4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit float, four channels).

See also:
nppiWarpPerspectiveBack_32f_C1R

NppStatus nppiWarpPerspectiveBack_32f_P3R ( const Npp32f pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit float, three planes).

See also:
nppiWarpPerspectiveBack_32f_C1R

NppStatus nppiWarpPerspectiveBack_32f_P4R ( const Npp32f pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32f pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit float, four planes).

See also:
nppiWarpPerspectiveBack_32f_C1R

NppStatus nppiWarpPerspectiveBack_32s_AC4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit signed integer, four channels RGBA).

See also:
nppiWarpPerspectiveBack_32s_C1R

NppStatus nppiWarpPerspectiveBack_32s_C1R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit signed integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpPerspectiveBack. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ \frac{C_{00} * X_{new} + C_{01} * Y_{new} + C_{02}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = x \qquad \frac{C_{10} * X_{new} + C_{11} * Y_{new} + C_{12}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpPerspectiveBack_32s_C3R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit signed integer, three channels).

See also:
nppiWarpPerspectiveBack_32s_C1R

NppStatus nppiWarpPerspectiveBack_32s_C4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit signed integer, four channels).

See also:
nppiWarpPerspectiveBack_32s_C1R

NppStatus nppiWarpPerspectiveBack_32s_P3R ( const Npp32s pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit signed integer, three planes).

See also:
nppiWarpPerspectiveBack_32s_C1R

NppStatus nppiWarpPerspectiveBack_32s_P4R ( const Npp32s pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp32s pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (32bit signed integer, four planes).

See also:
nppiWarpPerspectiveBack_32s_C1R

NppStatus nppiWarpPerspectiveBack_8u_AC4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (8bit unsigned integer, four channels RGBA).

See also:
nppiWarpPerspectiveBack_8u_C1R

NppStatus nppiWarpPerspectiveBack_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (8bit unsigned integer, single channel).

This function operates using given transform coefficients that can be obtained by using nppiGetPerspectiveTransform function or set explicitly. Thus there is no need to invert coefficients in your application before calling WarpPerspectiveBack. The function operates on source and destination regions of interest. The perspective warp function transforms the source image pixel coordinates $(x,y)$ according to the following formulas:

\[ \frac{C_{00} * X_{new} + C_{01} * Y_{new} + C_{02}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = x \qquad \frac{C_{10} * X_{new} + C_{11} * Y_{new} + C_{12}}{C_{20} * X_{new} + C_{21} * Y_{new} + C_{22}} = y \]

The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI. The functions nppiGetPerspectiveQuad and nppiGetPerspectiveBound can help with destination ROI specification.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
coeffs [IN] Perspective transform coefficients
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpPerspectiveBack_8u_C3R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (8bit unsigned integer, three channels).

See also:
nppiWarpPerspectiveBack_8u_C1R

NppStatus nppiWarpPerspectiveBack_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (8bit unsigned integer, four channels).

See also:
nppiWarpPerspectiveBack_8u_C1R

NppStatus nppiWarpPerspectiveBack_8u_P3R ( const Npp8u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (8bit unsigned integer, three planes).

See also:
nppiWarpPerspectiveBack_8u_C1R

NppStatus nppiWarpPerspectiveBack_8u_P4R ( const Npp8u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
Npp8u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  coeffs[3][3],
int  interpolation 
)

Inverse perspective transform of an image (8bit unsigned integer, four planes).

See also:
nppiWarpPerspectiveBack_8u_C1R

NppStatus nppiWarpPerspectiveQuad_16u_AC4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, four channels RGBA).

See also:
nppiWarpPerspectiveQuad_16u_C1R

NppStatus nppiWarpPerspectiveQuad_16u_C1R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, single channel).

This function performs perspective warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpPerspectiveQuad uses the same formulas for pixel mapping as in nppiWarpPerspective function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpPerspectiveQuad_16u_C3R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, three channels).

See also:
nppiWarpPerspectiveQuad_16u_C1R

NppStatus nppiWarpPerspectiveQuad_16u_C4R ( const Npp16u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, four channels).

See also:
nppiWarpPerspectiveQuad_16u_C1R

NppStatus nppiWarpPerspectiveQuad_16u_P3R ( const Npp16u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, three planes).

See also:
nppiWarpPerspectiveQuad_16u_C1R

NppStatus nppiWarpPerspectiveQuad_16u_P4R ( const Npp16u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp16u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (16bit unsigned integer, four planes).

See also:
nppiWarpPerspectiveQuad_16u_C1R

NppStatus nppiWarpPerspectiveQuad_32f_AC4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit float, four channels RGBA).

See also:
nppiWarpPerspectiveQuad_32f_C1R

NppStatus nppiWarpPerspectiveQuad_32f_C1R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit float, single channel).

This function performs perspective warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpPerspectiveQuad uses the same formulas for pixel mapping as in nppiWarpPerspective function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpPerspectiveQuad_32f_C3R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit float, three channels).

See also:
nppiWarpPerspectiveQuad_32f_C1R

NppStatus nppiWarpPerspectiveQuad_32f_C4R ( const Npp32f pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit float, four channels).

See also:
nppiWarpPerspectiveQuad_32f_C1R

NppStatus nppiWarpPerspectiveQuad_32f_P3R ( const Npp32f pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit float, three planes).

See also:
nppiWarpPerspectiveQuad_32f_C1R

NppStatus nppiWarpPerspectiveQuad_32f_P4R ( const Npp32f pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32f pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit float, four planes).

See also:
nppiWarpPerspectiveQuad_32f_C1R

NppStatus nppiWarpPerspectiveQuad_32s_AC4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, four channels RGBA).

See also:
nppiWarpPerspectiveQuad_32s_C1R

NppStatus nppiWarpPerspectiveQuad_32s_C1R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, single channel).

This function performs perspective warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpPerspectiveQuad uses the same formulas for pixel mapping as in nppiWarpPerspective function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NppStatus nppiWarpPerspectiveQuad_32s_C3R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, three channels).

See also:
nppiWarpPerspectiveQuad_32s_C1R

NppStatus nppiWarpPerspectiveQuad_32s_C4R ( const Npp32s pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, four channels).

See also:
nppiWarpPerspectiveQuad_32s_C1R

NppStatus nppiWarpPerspectiveQuad_32s_P3R ( const Npp32s pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, three planes).

See also:
nppiWarpPerspectiveQuad_32s_C1R

NppStatus nppiWarpPerspectiveQuad_32s_P4R ( const Npp32s pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp32s pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (32bit signed integer, four planes).

See also:
nppiWarpPerspectiveQuad_32s_C1R

NppStatus nppiWarpPerspectiveQuad_8u_AC4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, four channels RGBA).

See also:
nppiWarpPerspectiveQuad_8u_C1R

NppStatus nppiWarpPerspectiveQuad_8u_C1R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, single channel).

This function performs perspective warping of a the specified quadrangle in the source image to the specified quadrangle in the destination image. The function nppiWarpPerspectiveQuad uses the same formulas for pixel mapping as in nppiWarpPerspective function. The transform coefficients are computed internally. The transformed part of the source image is resampled using the specified interpolation method and written to the destination ROI.

NPPI specific recommendation: The function operates using 2 types of kernels: fast and accurate. The fast method is about 4 times faster than its accurate variant, but doesn't perform memory access checks and requires the destination ROI to be 64 bytes aligned. Hence any destination ROI is chunked into 3 vertical stripes: the first and the third are processed by accurate kernels and the central one is processed by the fast one. In order to get the maximum available speed of execution, the projection of destination ROI onto image addresses must be 64 bytes aligned. This is always true if the values (int)((void *)(pDst + dstRoi.x)) and (int)((void *)(pDst + dstRoi.x + dstRoi.width)) are multiples of 64. Another rule of thumb is to specify destination ROI in such way that left and right sides of the projected image are separated from the ROI by at least 63 bytes from each side. However, this requires the whole ROI to be part of allocated memory. In case when the conditions above are not satisfied, the function may decrease in speed slightly and will return NPP_MISALIGNED_DST_ROI_WARNING warning.

Parameters:
pSrc [IN] Pointer to source image data
srcSize [IN] Size of source image in pixels
srcStep [IN] Step in bytes between any pair of sequential rows of source image
srcRoi [IN] Source ROI
srcQuad [IN] Source quadrangle
pDst [OUT] Pointer to destination image data
dstStep [IN] Step in bytes between any pair of sequential rows of destination image
dstRoi [IN] Destination ROI
dstQuad [IN] Destination quadrangle
interpolation [IN] Interpolation mode: can be NPPI_INTER_NN, NPPI_INTER_LINEAR or NPPI_INTER_CUBIC
Returns:
NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning

NPP_NULL_POINTER_ERROR Indicates an error condition if one of the specified pointers is NULL

NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value

NPP_STEP_ERROR Indicates an error condition if srcStep or dstStep has a zero or negative value

NPP_RECT_ERROR Indicates an error condition if width or height of the intersection of the srcRoi and source image is less than or equal to 1

NPP_WRONG_INTERSECTION_ROI_ERROR Indicates an error condition if srcRoi has no intersection with the source image

NPP_INTERPOLATION_ERROR Indicates an error condition if interpolation has an illegal value

NPP_COEFF_ERROR Indicates an error condition if coefficient values are invalid

NPP_ALIGNMENT_ERROR Indicates an error condition if any of input surfaces is not 4-byte aligned

NPP_CUDA_KERNEL_EXECUTION_ERROR Indicates an error condition if cudaGetLastError() returns an error right after kernel execution

NPP_WRONG_INTERSECTION_QUAD_WARNING Indicates a warning that no operation is performed if the transformed source ROI has no intersection with the destination ROI

NPP_MISALIGNED_DST_ROI_WARNING Indicates a warning that the speed of primitive execution was reduced due to destination ROI misalignment

NppStatus nppiWarpPerspectiveQuad_8u_C3R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, three channels).

See also:
nppiWarpPerspectiveQuad_8u_C1R

NppStatus nppiWarpPerspectiveQuad_8u_C4R ( const Npp8u pSrc,
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst,
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, four channels).

See also:
nppiWarpPerspectiveQuad_8u_C1R

NppStatus nppiWarpPerspectiveQuad_8u_P3R ( const Npp8u pSrc[3],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst[3],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, three planes).

See also:
nppiWarpPerspectiveQuad_8u_C1R

NppStatus nppiWarpPerspectiveQuad_8u_P4R ( const Npp8u pSrc[4],
NppiSize  srcSize,
int  srcStep,
NppiRect  srcRoi,
const double  srcQuad[4][2],
Npp8u pDst[4],
int  dstStep,
NppiRect  dstRoi,
const double  dstQuad[4][2],
int  interpolation 
)

Perspective transform of an image (8bit unsigned integer, four planes).

See also:
nppiWarpPerspectiveQuad_8u_C1R

NppStatus nppiYCbCr420ToRGB_8u_P3C3R ( const Npp8u *const *  pSrc,
int  srcStep[3],
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI 
)

YCbCr420 (3-plane) to RGB color conversion for 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiYCbCr422ToRGB_8u_C2C3R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI 
)

YCbCr422 (2-channel pixel-packed) to RGB color conversion for 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiYCbCrToRGB_8u_AC4R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI 
)

YCbCr to RGB color conversion for 3-channel planar 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails. YCbCr to RGB color conversion for 4-channel pixel-packed 8bit/pixel images. Alpha channel is the last channel and is not processed.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.

NppStatus nppiYCbCrToRGB_8u_C3R ( const Npp8u pSrc,
int  srcStep,
Npp8u pDst,
int  dstStep,
NppiSize  oSizeROI 
)

YCbCr to RGB color conversion for 3-channel pixel-packed 8bit/pixel images.

Parameters:
pSrc Pointer to the source ROI.
srcStep Distance in bytes between starts of consecutive lines of the source image.
pDst Pointer to the destination ROI.
dstStep Distance in bytes between starts of consecutive lines of the destination image.
oSizeROI Width and height of the regions of interest.
Returns:
NPP_SUCCESS For successful completetion.

NPP_NULL_POINTER_ERROR if pSum or pSrc pointer NULL.

NPP_SIZE_ERROR if oROI has a field with zero or negative value

NPP_KERNEL_EXECUTION_ERROR if CUDA kernel could could not be executed properly.

NPP_MEMCPY_ERROR if a CUDA memory copy (either from host to device or device to host) used internally fails.

NPP_TEXTURE_BIND_ERROR if either texture bind or unbind call used internally fails.


Copyright © 2009 NVIDIA Corporation