ResizeShift

Resize and shift an image

Synopsis

FwStatus   fwiResizeShift_8u_C1R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_8u_C3R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_8u_C4R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_8u_AC4R ( const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_16u_C1R ( const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_16u_C3R ( const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_16u_C4R ( const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_16u_AC4R ( const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_32f_C1R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_32f_C3R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_32f_C4R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_32f_AC4R ( const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_8u_P3R ( const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_16u_P3R ( const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_32f_P3R ( const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_8u_P4R ( const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_16u_P4R ( const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );
FwStatus   fwiResizeShift_32f_P4R ( const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation );

Parameters

dstRoiSize   Destination image ROI size.
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).
xFr   Inverse factor value for X axis direction.
xShift   Shift value for X axis direction.
yFr   Inverse factor value for Y axis direction .
yShift   Shift value for Y axis direction.

Description

These functions step through an ROI in a source buffer, scale the source data using inverse x-y scaling factors and a specified method of interpolation, then shift the data to a destination ROI.

The functions use the following equivalent mapping formulas.

 x=(x'-xShift)*xFr  or  x'=x*xFactor+xShift
 y=(y'-yShift)*yFr    y'=y*yFactor+yShift

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation
 FWI_INTER_LANCZOS: interpolation with Lanczos window function