Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ का उपयोग कर ओपनसीवी में एक छवि को कैसे घुमाएं?

OpenCV के अंतर्निहित कार्यों का उपयोग करके छवि को घुमाना एक सरल कार्य है। इमेज को घुमाने के लिए, हमें 'highgui.hpp' और 'imgproc.hpp' हेडर फाइल्स का इस्तेमाल करना होगा और हम इस प्रोग्राम में और फंक्शन पेश करेंगे जो इमेज रोटेशन से संबंधित हैं।

निम्नलिखित प्रोग्राम C++ का उपयोग करके OpenCV में एक छवि को कैसे घुमाना है।

उदाहरण

#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;
}

आउटपुट

सी ++ का उपयोग कर ओपनसीवी में एक छवि को कैसे घुमाएं?


  1. सी ++ का उपयोग कर ओपनसीवी में किसी छवि के चैनलों की संख्या की गणना कैसे करें?

    इस विषय में, हम समझेंगे कि किसी छवि के चैनलों की संख्या का पता कैसे लगाया जाए। प्रोग्राम चलाने के बाद, कंसोल विंडो में चैनल का नंबर दिखाया जाएगा। चैनल की संख्या प्राप्त करने के लिए, हमने ओपनसीवी के एक वर्ग का उपयोग किया है जिसका नाम चैनल () है। जब हम इमेज मैट्रिक्स को चैनल () वर्ग के ऑब्जेक्ट के रू

  1. सी ++ का उपयोग कर ओपनसीवी में छवि कैसे लोड और दिखाएं?

    इस विषय में, हम यह निर्धारित करेंगे कि C++ में OpenCV का उपयोग करके छवियों को कैसे लोड और दिखाया जाए। OpenCV में एक छवि लोड करने और दिखाने के लिए निम्नलिखित कार्यों की आवश्यकता होती है। चटाई: मैट कोई फंक्शन नहीं है। यह एक डेटा संरचना है, एक प्रकार का चर। सी ++ में इंट, चार, स्ट्रिंग वेरिएबल प्रकार

  1. जावा का उपयोग करके ओपनसीवी के साथ एक छवि को कैसे घुमाएं?

    The warpAffine() Imgproc वर्ग की विधि निर्दिष्ट छवि में एक affine परिवर्तन लागू करती है। यह विधि स्वीकार करती है - स्रोत, गंतव्य और रूपांतरण मैट्रिक्स का प्रतिनिधित्व करने वाली तीन मैट वस्तुएं। आउटपुट छवि के आकार का प्रतिनिधित्व करने वाला एक पूर्णांक मान। एक छवि को घुमाने के लिए एक रोटेशन म