ভিডিও রোটেট করা ইমেজ রোটেট করার মতো। একমাত্র পার্থক্য হলো স্টিল ছবি লোড করার বদলে ভিডিও লোড করা বা ক্যামেরা থেকে ভিডিও স্ট্রিম নেওয়া।
এখানে আমরা ভিডিও লোড না করে ক্যামেরা ব্যবহার করছি। আপনি যদি ভিডিও ফাইল ব্যবহার করতে চান, তবে ভিডিও ফাইলের ঠিকানা সঠিকভাবে দিন।
OpenCV-এ 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[]) {
VideoCapture loadvideo(0); // ডিফল্ট ক্যামেরা থেকে ভিডিও ক্যাপচার
namedWindow("OriginalVideo"); // আসল ভিডিও স্ট্রিম দেখানোর উইন্ডো
namedWindow("RotatedVideo"); // রোটেটেড ভিডিও স্ট্রিম দেখানোর উইন্ডো
int rotating_angle = 180; // প্রাথমিক রোটেশন কোণ
createTrackbar("Rotation", "RotatedVideo", &rotating_angle, 360); // রোটেশনের জন্য ট্র্যাকবার
while (true) {
Mat before_Rotating; // রোটেশনের আগের ইমেজের ম্যাট্রিক্স
bool temp = loadvideo.read(before_Rotating); // ভিডিও সোর্স থেকে ফ্রেম লোড
imshow("OriginalVideo", before_Rotating); // রোটেশনের আগের ইমেজ দেখানো
Mat for_Rotation = getRotationMatrix2D(Point(before_Rotating.cols / 2, before_Rotating.rows / 2), (rotating_angle - 180), 1); // ২D রোটেশনের জন্য অ্যাফাইন ট্রান্সফরমেশন ম্যাট্রিক্স
Mat after_Rotating; // রোটেশনের পরের ইমেজের ম্যাট্রিক্স
warpAffine(before_Rotating, after_Rotating, for_Rotation, before_Rotating.size()); // অ্যাফাইন ট্রান্সফরমেশন প্রয়োগ
imshow("RotatedVideo", after_Rotating); // রোটেটেড ইমেজ দেখানো
if (waitKey(30) == 27) { // কিবোর্ড থেকে ESC চাপলে ব্রেক
break;
}
}
return 0;
}
আউটপুট
