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

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

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

यहां, हमने 'imgproc.hpp' नामक एक नए हेडर का उपयोग किया है। यह 'imgproc.hpp' इमेज प्रोसेसिंग का संक्षिप्त नाम है। रंग स्थान परिवर्तित करने के लिए, हमें OpenCV के '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 है।

निम्नलिखित प्रोग्राम OpenCV में RGB इमेज को ग्रेस्केल इमेज में परिवर्तित करता है।

उदाहरण

#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;
    Mat myImage_Converted;
    namedWindow("Actual_Image");
    namedWindow("Converted_Image");
    myImage = imread("cat.jpg");
    cvtColor(myImage, myImage_Converted, COLOR_RGB2GRAY);
    imshow("Actual_Image", myImage);
    imshow("Converted_Image", myImage_Converted);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

आउटपुट

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

  1. OpenCV में C++ का उपयोग करके बाइनरी इमेज कैसे बनाएं? OpenCV में C++ का उपयोग करके बाइनरी इमेज कैसे बनाएं?

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

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

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

  1. OpenCV लाइब्रेरी का उपयोग करके पॉजिटिव इमेज को नेगेटिव में कैसे बदलें? OpenCV लाइब्रेरी का उपयोग करके पॉजिटिव इमेज को नेगेटिव में कैसे बदलें?

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