Shear

Perform shear transform

Synopsis

FwStatus   fwiShear_8u_C1R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_8u_C3R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_8u_C4R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_8u_AC4R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_32f_C1R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_32f_C3R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_32f_C4R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_32f_AC4R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_8u_P3R ( const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_8u_P4R ( const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_32f_P3R ( const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );
FwStatus   fwiShear_32f_P4R ( const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation );

Parameters

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).
xShear   Shear value for X axis in Shear transformation.
xShift   Shift value for X axis direction.
yShear   Shear value for Y axis in Shear transformation.
yShift   Shift value for Y axis direction.

Description

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

The following shear transform formula is used.

 x' = xShear * y + x + xShift
 y' = yShear * x + y + yShift

Where x' and y' are the destination coordinates

The shear transform is a special case of the warp affine transform.

The following interpolation modes are available.

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