WarpBilinear

Perform warp bilinear transform

Synopsis

FwStatus   fwiWarpBilinear_8u_C1R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_8u_C3R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_8u_C4R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_8u_AC4R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_32f_C1R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_32f_C3R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_32f_C4R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_32f_AC4R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_8u_P3R ( const Fw8u * const pSrc[3]FwiSize srcSizeint srcStepFwiRect srcRoiFw8u * const pDst[3]int dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_8u_P4R ( const Fw8u * const pSrc[4]FwiSize srcSizeint srcStepFwiRect srcRoiFw8u * const pDst[4]int dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_32f_P3R ( const Fw32f* const pSrc[3]FwiSize srcSizeint srcStepFwiRect srcRoiFw32f* const pDst[3]int dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );
FwStatus   fwiWarpBilinear_32f_P4R ( const Fw32f* const pSrc[4]FwiSize srcSizeint srcStepFwiRect srcRoiFw32f* const pDst[4]int dstStepFwiRect dstRoiconst double coeffs[2][4]int interpolation );

Parameters

coeffs[2][4]   Coefficients for Warp Affine Bilinear transform.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a source ROI, perform the warp bilinear transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

The following transformation formula is used.

 x' = c00*xy + c01*x + c02*y + c03
 y' = c10*xy + c11*x + c12*y + c13

Where:
 x' and y' are the destination coordinates
 Cij are transform coefficients that are passed into the array

The warp bilinear transform is not a true linear transform. It does not preserve distance relationships.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation