Rotate

Rotate an image

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRotate_8u_C1R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_8u_C3R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_8u_C4R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_8u_AC4R ( const Fw8u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw8u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_16u_C1R ( const Fw16u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw16u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_16u_C3R ( const Fw16u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw16u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_16u_C4R ( const Fw16u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw16u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_16u_AC4R ( const Fw16u * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw16u * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_32f_C1R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_32f_C3R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_32f_C4R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_32f_AC4R ( const Fw32f * pSrcFwiSize srcSizeint srcStepFwiRect srcRoiFw32f * pDstint dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_8u_P3R ( const Fw8u * const pSrc[3]FwiSize srcSizeint srcStepFwiRect srcRoiFw8u * const pDst[3]int dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_8u_P4R ( const Fw8u * const pSrc[4]FwiSize srcSizeint srcStepFwiRect srcRoiFw8u * const pDst[4]int dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_16u_P3R ( const Fw16u * const pSrc[3]FwiSize srcSizeint srcStepFwiRect srcRoiFw16u * const pDst[3]int dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_16u_P4R ( const Fw16u * const pSrc[4]FwiSize srcSizeint srcStepFwiRect srcRoiFw16u * const pDst[4]int dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_32f_P3R ( const Fw32f* const pSrc[3]FwiSize srcSizeint srcStepFwiRect srcRoiFw32f* const pDst[3]int dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );
FwStatus   fwiRotate_32f_P4R ( const Fw32f* const pSrc[4]FwiSize srcSizeint srcStepFwiRect srcRoiFw32f* const pDst[4]int dstStepFwiRect dstRoidouble angledouble xShiftdouble yShiftint interpolation );

Parameters

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.

Description

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