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

C++ का उपयोग करके OpenCV में अपने कंप्यूटर पर वीडियो कैसे स्टोर करें?

जब हम एक वीडियो स्टोर करना चाहते हैं, तो हमें उस स्थान को परिभाषित करना होगा जिसे हम स्टोर करना चाहते हैं। फिर हमें फोरसीसी निर्दिष्ट करने की आवश्यकता है, फोरसीसी का अर्थ 'फोर कैरेक्टर कोड' है। यह 4-बाइट वर्णों का एक क्रम है जो डेटा स्वरूपों की पहचान करता है। हमें वीडियो स्टोर करने के लिए FPS घोषित करने की भी आवश्यकता है और इस भंडारण प्रक्रिया के लिए फ्रेम आकार भी आवश्यक है। निम्न प्रोग्राम डिफ़ॉल्ट कैमरे से रीयल-टाइम वीडियो स्ट्रीम लेता है और वीडियो को C निर्देशिका में संग्रहीत करता है।

निम्न प्रोग्राम दर्शाता है कि C++ का उपयोग करके OpenCV में अपने कंप्यूटर में वीडियो कैसे स्टोर करें।

उदाहरण

#include<opencv2/opencv.hpp>//OpenCV header to use VideoCapture class and VideoWriter//
#include<iostream>
using namespace std;
using namespace cv;
int main() {
   Mat myImage;//Declaring a matrix to store the frames//
   VideoCapture cap(0);//Taking an object of VideoCapture Class to capture video from default camera//
   namedWindow("Video Player");//Declaring the video to show the video//
   if(!cap.isOpened()){ //This section prompt an error message if no video stream is found//
      cout << "Failed to access the camera" << endl;
      system("pause");
      return-1;
   }
   int frame_width = cap.get(CAP_PROP_FRAME_WIDTH);//Getting the frame height//
   int frame_height = cap.get(CAP_PROP_FRAME_HEIGHT);//Getting the frame width//
   VideoWriter video("video1.mp4",10,17,Size(frame_width, frame_height));//Declaring an object of VideoWriter class//
   while (true){ //Taking an everlasting loop to show the video//
      cap >> myImage;
      if (myImage.empty()){ //Breaking the loop if no video frame is detected//
         break;
      }
      video.write(myImage);//Write the video//
      imshow("Video Player", myImage);//Showing the video//
      char c= (char)waitKey(25);
      if(c==27){
         break;
      }
   }
   cap.release();//Releasing the buffer memory//
   video.release();
   return 0;
}

यह प्रोग्राम वीडियो को परिभाषित निर्देशिका में परिभाषित प्रारूप में परिभाषित नाम के रूप में संग्रहीत करेगा।


  1. C++ का उपयोग करके OpenCV में एक रेखा कैसे खींचना है?

    एक रेखा खींचने के लिए हमें दो बिंदुओं की आवश्यकता होती है-आरंभिक बिंदु और अंत बिंदु। रेखा खींचने के लिए हमें कैनवास की भी आवश्यकता होती है। ओपनसीवी, हमारे कैनवास में मैट्रिक्स का उपयोग करके, हमें लाइन के शुरुआती और समाप्ति बिंदुओं को परिभाषित करने की आवश्यकता है। हमें रेखा को भी एक रंग निर्दिष्ट कर

  1. सी ++ का उपयोग कर ओपनसीवी में बाइनरी छवि को कैसे पलटना है?

    बाइनरी इमेज को इनवर्ट करने का मतलब है पिक्सल वैल्यू को इनवर्ट करना। एक दृश्य परिप्रेक्ष्य से, जब हम एक बाइनरी छवि को उलटते हैं, तो सफेद पिक्सेल काले रंग में परिवर्तित हो जाएंगे, और काले पिक्सेल सफेद में परिवर्तित हो जाएंगे। इस फ़ंक्शन का मूल रूप है - cvtColor(original_image, grayscale_image, COLOR_

  1. सी ++ का उपयोग कर ओपनसीवी में बाइनरी छवि कैसे बनाएं?

    एक द्विआधारी छवि सिर्फ एक डिजिटल छवि है जो दो रंगों, काले और सफेद का प्रतिनिधित्व करती है। इमेज प्रोसेसिंग के नजरिए से, बाइनरी इमेज में दो संभावित मानों वाले पिक्सल होते हैं- शून्य और एक। जब पिक्सेल का मान 0 होता है, तो यह एक शुद्ध काले रंग का प्रतिनिधित्व करता है। जब पिक्सेल का मान 1 होता है, तो इस