---------------------------------------------------------------------------------------------------------------
Description::
This is a C++ program to rotate the input file(image) by the use of wrafAffine funtion which is inbuilt in the opencv library. wrafAffine takes 4 parametres. FIrst is source image file , second is destination image file , third parameter is mat object that is ouput after rotating with some point taking into reference and last is taking the size.
---------------------------------------------------------------------------------------------------------------
Program::
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
Mat rotate(Mat src, double angle) //rotate function returning mat object with parametres imagefile and angle
{
Mat dst; //Mat object for output image file
Point2f pt(src.cols/2., src.rows/2.); //point from where to rotate
Mat r = getRotationMatrix2D(pt, angle, 1.0); //Mat object for storing after rotation
warpAffine(src, dst, r, Size(src.cols, src.rows)); ///applie an affine transforation to image.
return dst; //returning Mat object for output image file
}
int main()
{
Mat src = imread("1.png"); //reading image file in mat object
Mat dst; //Mat object for output image file
dst = rotate(src, 30); //rotating image with 30 degree angle
imshow("src", src); //displaying input image file
imshow("dst", dst); //displaying output image file
waitKey(0); //to exit press escape
return 0;
}
---------------------------------------------------------------------------------------------------------------
Commands to run program on terminal::
$ g++ -ggdb `pkg-config --cflags filename` -o `basename filename .cpp` filename `pkg-config --libs opencv`
$ ./cvopen filename
---------------------------------------------------------------------------------------------------------------
Output::
Comments