Rotate an image
SSE2
FwStatus | fwiRotate_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); |
angle | Specifies the rotation angle in degrees, counterclockwise. | |
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). | |
xShift | Shift value for X axis direction. | |
yShift | Shift value for Y axis direction. |
These functions step through an ROI in a source buffer, rotate the source data around (0,0) by a specified angle, shift the x-y coordinates according to the x and y shift values, and map the data into a destination ROI using a specified method of interpolation.
The FWI_SMOOTH_EDGE option is available when the destination ROI contains the transformed image.
Depending on the x-y coordinate values and the amount of rotation, the rotated image may be clipped by the destination ROI boundary.
A positive angle value indicates counterclockwise rotation when source data is ordered downward for height.
The following interpolation modes are available.
FWI_INTER_NN: nearest neighbor interpolation FWI_INTER_LINEAR: linear interpolation FWI_INTER_CUBIC: cubic interpolation