OpenCV-এর অন্তর্নির্মিত ফাংশন ব্যবহার করে ছবি ঘোরানো একটি সহজ কাজ। ইমেজ ঘোরানোর জন্য, আমাদের 'highgui.hpp' এবং 'imgproc.hpp' হেডার ফাইল ব্যবহার করতে হবে এবং আমরা এই প্রোগ্রামে আরও ফাংশন চালু করব যা ইমেজ রোটেশন নিয়ে কাজ করে।
C++ ব্যবহার করে ওপেনসিভিতে একটি ছবি কিভাবে ঘোরানো যায় তা নিচের প্রোগ্রামে।
উদাহরণ
#include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace std; using namespace cv; int main(int argc, char** argv) { Mat before_rotation = imread("bright.jpg");//loading image to a matrix namedWindow("BeforeRotation");//Declaring window to show the original image// imshow("BeforeRotation", before_rotation);//showing the image before rotation// namedWindow("AfterRotation");//declaring window to show rotated image// int Rotation = 180;//initialization rotation angle// createTrackbar("Rotation", "AfterRotation", &Rotation, 360);//creating trackbar// int Height = before_rotation.rows / 2;//getting middle point of rows// int Width = before_rotation.cols / 2;//getting middle point of height// while (true) { Mat for_Rotation = getRotationMatrix2D(Point(Width, Height), (Rotation - 180), 1);//affine transformation matrix for 2D rotation// Mat for_Rotated;//declaring a matrix for rotated image warpAffine(before_rotation, for_Rotated, for_Rotation, before_rotation.size());//applying affine transformation// imshow("AfterRotation", for_Rotated);//show rotated image// int termination = waitKey(30);//allow system 30 millisecond time to create the rottion effect// if (termination == 27){ //terminate if Esc button is pressed// break; } } return 0; }
আউটপুট