इस विषय में, हम यह निर्धारित करेंगे कि C++ में OpenCV का उपयोग करके छवियों को कैसे लोड और दिखाया जाए। OpenCV में एक छवि लोड करने और दिखाने के लिए निम्नलिखित कार्यों की आवश्यकता होती है।
- चटाई: मैट कोई फंक्शन नहीं है। यह एक डेटा संरचना है, एक प्रकार का चर। सी ++ में इंट, चार, स्ट्रिंग वेरिएबल प्रकारों की तरह, मैट ओपनसीवी का एक चर है, जो इसके अंदर छवियों को लोड करने के लिए मैट्रिक्स डेटा संरचना बनाता है। इस कार्यक्रम में, हमने 'Mat myImage;' लिखा। इसका मतलब है कि हम 'myImage' नाम का एक मैट्रिक्स वैरिएबल घोषित कर रहे हैं।
- नेमविंडो (): यह कुछ मेमोरी आवंटित करता है और छवि दिखाने के लिए एक विंडो बनाता है। यह एक फोटो फ्रेम की तरह काम करता है। OpenCV में, हमें फ़ंक्शन को 'namedWindow("window का नाम",flag)' के रूप में बनाना होगा।
- 3 . इमरीड (): यह फ़ंक्शन एक परिभाषित स्थान से एक छवि पढ़ता है। यह प्रोग्राम 'C:' ड्राइव से इमेज को पढ़ता है। इस फ़ंक्शन का उपयोग करने के लिए, आपको इसे 'imread("छवि का स्थान/विस्तार के साथ छवि का नाम", ध्वज)' लिखना होगा।
- imshow(): यह फ़ंक्शन परिभाषित विंडो में छवि दिखाता है। इस फ़ंक्शन का उपयोग करने के लिए आपको 'imshow(खिड़की का नाम", मैट्रिक्स का नाम)' लिखना होगा।
- प्रतीक्षाकी (): यह OpenCV का एक महत्वपूर्ण कार्य है। छवियों को संसाधित करने और संचालन निष्पादित करने के लिए, हमें सिस्टम को कुछ समय देना चाहिए। अगर हम ऐसा नहीं करते हैं, तो हम नहीं करेंगे
यह फ़ंक्शन प्रोग्राम को बंद करने से पहले एक निश्चित अवधि के लिए प्रतीक्षा करता है। यदि आप WaitKey(10000) का उपयोग करते हैं, तो यह 10 सेकंड के बाद प्रोग्राम को बंद कर देगा। यदि आप प्रतीक्षाकी (0) लिखते हैं, तो इसे वांछित आउटपुट मिलेगा। यह फ़ंक्शन हमें सिस्टम को संचालित करने के लिए आवश्यक समय देने में सक्षम करेगा। उपयोगकर्ता से कीस्ट्रोक की प्रतीक्षा करें। जब उपयोगकर्ता कीबोर्ड से किसी भी कुंजी पर क्लिक करता है, तो प्रोग्राम बंद हो जाएगा। इस फ़ंक्शन को 'वेटकी (मिलीसेकंड)' के रूप में लिखा जाना है।
- विन्डोज़ को नष्ट करें (): यह फ़ंक्शन सभी विंडो बंद कर देता है। जब हम विंडोज़ बनाते हैं, तो हम कुछ मेमोरी आवंटित करते हैं। विंडो को नष्ट करें () फ़ंक्शन उस मेमोरी को सिस्टम में रिलीज़ करता है।
निम्न प्रोग्राम दिखाता है कि OpenCV लाइब्रेरी का उपयोग करके एक छवि को कैसे लोड और दिखाना है।
उदाहरण
#include<iostream> #include<opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() { Mat myImage;//declaring a matrix named myImage// namedWindow("PhotoFrame");//declaring the window to show the image// myImage = imread("lakshmi.jpg");//loading the image named lakshme in the matrix// if (myImage.empty()) {//If the image is not loaded, show an error message// cout << "Couldn't load the image." << endl; system("pause");//pause the system and wait for users to press any key// return-1; } imshow("PhotoFrame", myImage);//display the image which is stored in the 'myImage' in the "myWindow" window// destroyWindow("Photoframe");//close the window and release allocate memory// waitKey(0);//wait till user press any key return 0; }
उपरोक्त प्रोग्राम को क्रियान्वित करने पर, हमें निम्न आउटपुट प्राप्त होता है -
आउटपुट