Function:Rotate

From CUVI Wiki
Revision as of 16:57, 30 June 2019 by Jawad (talk | contribs) (→‎Example)

Rotates an image about a specified anchor point

Function

CuviStatus rotate(const CuviImage& src,
                  CuviImage& dst,
                  const Cuvi32f angle,
                  const CuviPoint2D<int> anchor,
                  const CuviStream& stream = CuviStream());

CuviStatus rotate(const CuviImage& src,
                  CuviImage& dst,
                  const Cuvi32f angle,
                  const CuviPoint2D<int> anchor,
                  const CuviRect& roi,
                  const CuviStream& stream = CuviStream());


Parameters

Name Type Description
src const CuviImage& Input image
dst CuviImage& Output image
angle const Cuvi32f Angle of rotation
anchor const CuviPoint2D<int> Center point of rotation
roi const CuviRect& Region of Interest
stream const CuviStream& GPU stream ID for execution

Image Type Support

Input Output
8uC1 8uC1
8uC3 8uC3
16uC1 16uC1
16uC3 16uC3
32fC1 32fC1
32fC3 32fC3

Sample

Error creating thumbnail: Unable to save thumbnail to destination
Input Image
Error creating thumbnail: Unable to save thumbnail to destination
Rotated at 45 degrees about center


Example

CuviImage src, dst;

CuviStatus s = CUVI_SUCCESS;
s = src.create(ipath, CUVI_LOAD_IMAGE_COLOR);

if (s != CUVI_SUCCESS)	printf("\nImage load Error: %d", s);

//Define point of rotation within image or ROI
CuviPoint2D<int> anchor(200, 0);

//Define (optional) ROI
CuviRect roi(50, 100, 200, 150);

//Perform Rotation
s = cuvi::geometryTransforms::rotate(src, dst, 1.44, anchor, roi);

cuvi::io::saveImage(dst, opath);