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

सी ++ का उपयोग कर ओपनसीवी में रंग रिक्त स्थान कैसे परिवर्तित करें?

रंग स्थान रंगों का प्रतिनिधित्व करने का मॉडल है। रंगों का वर्णन करने के विभिन्न तरीके हैं। उदाहरण के लिए, RGB, CYMK, HSV, ग्रेस्केल आदि।

यहां, हमने 'imgproc.hpp' नामक एक नए शीर्षलेख का उपयोग किया। यह 'imgproc.hpp' इमेज प्रोसेसिंग का संक्षिप्त नाम है। रंग रिक्त स्थान बदलने के लिए, हमें 'cvtColor ()' . का उपयोग करने की आवश्यकता है ओपनसीवी का कार्य। यह फ़ंक्शन 'imgproc' . में परिभाषित किया गया है शीर्ष लेख फ़ाइल। इसलिए हमने 'imgproc.hpp' को शामिल किया है।

सबसे पहले, हमने दो मैट्रिसेस और दो विंडो की घोषणा की। ये छवियों को लोड करने और दिखाने के लिए हैं। फिर हमने 'cat.jpg' नाम की अपनी इमेज को 'myImage' . में लोड किया आव्यूह। उसके बाद हमने 'cvtColor(myImage, myImage_Converted, COLOR_RGB2GRAY)' का प्रयोग किया। यह लाइन 'myImage' के RGB कलर स्पेस को ग्रेस्केल में कनवर्ट करती है और इसे 'myImage_Converted' मैट्रिक्स में स्टोर करती है।

'cvtColor() . का अपरिष्कृत रूप फ़ंक्शन है -

cvtColor(Source Matrix, Destination Matrix, Color Space Conversion Code)

इस कार्यक्रम में, स्रोत मैट्रिक्स 'myImage' है, गंतव्य मैट्रिक्स 'myImage_Converted' है, और रंग स्थान रूपांतरण कोड COLOR_RGB2GRAY है।

निम्न प्रोग्राम ओपनसीवी में आरजीबी छवियों को ग्रेस्केल छवियों में परिवर्तित करता है।

उदाहरण

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main(int argc, const char** argv) {
   Mat myImage;//declaring a matrix to load the image//
   Mat myImage_Converted;//declaring a matrix to store the converted image//  
   namedWindow("Actual_Image");//declaring window to show actual image//
   namedWindow("Converted_Image");//declaring window to show converted image//
   myImage = imread("cat.jpg");//loading the image in myImage matrix//
   cvtColor(myImage,myImage_Converted, COLOR_RGB2GRAY);//converting RGB to Grayscale//
   imshow("Actual_Image",myImage);//showing Actual Image//
   imshow("Converted_Image",myImage_Converted);//showing Converted Image//  
   waitKey(0);//wait for key stroke
   destroyAllWindows();//closing all windows
   return 0;
}

आउटपुट

सी ++ का उपयोग कर ओपनसीवी में रंग रिक्त स्थान कैसे परिवर्तित करें?


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

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

  1. सी ++ का उपयोग कर ओपनसीवी में रंग रिक्त स्थान कैसे परिवर्तित करें?

    रंग स्थान रंगों का प्रतिनिधित्व करने का मॉडल है। रंगों का वर्णन करने के विभिन्न तरीके हैं। उदाहरण के लिए, RGB, CYMK, HSV, ग्रेस्केल आदि। यहां, हमने imgproc.hpp नामक एक नए शीर्षलेख का उपयोग किया। यह imgproc.hpp इमेज प्रोसेसिंग का संक्षिप्त नाम है। रंग रिक्त स्थान बदलने के लिए, हमें cvtColor () . का

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

    छवि को नकारात्मक में बदलने के लिए एल्गोरिदम प्रत्येक पिक्सेल का लाल हरा नीला मान प्राप्त करें प्रत्येक रंग मान को 255 से घटाएं और उन्हें नए रंग मानों के रूप में सहेजें। संशोधित रंगों से एक नया पिक्सेल मान बनाएं। नया मान पिक्सेल पर सेट करें। जावा में क्रियान्वयन ImageIO.read() विधि क