वीडियो घुमाना छवि घुमाने के समान है। एकमात्र अंतर यह है कि एक स्थिर चित्र को छवि मैट्रिक्स में लोड करने के बजाय, हमने एक वीडियो लोड किया है या कैमरे से वीडियो स्ट्रीम ली है।
यहाँ, हम वीडियो लोड नहीं कर रहे हैं बल्कि कैमरे का उपयोग करके वीडियो ले रहे हैं। यदि आप वीडियो फ़ाइल का उपयोग करना चाहते हैं, तो बस वीडियो फ़ाइल का पता सही ढंग से डालें।
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);//2D रोटेशन के लिए एफाइन ट्रांसफॉर्मेशन मैट्रिक्स// 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; }आउटपुट
