रंग स्थान रंगों का प्रतिनिधित्व करने का मॉडल है। रंगों का वर्णन करने के विभिन्न तरीके हैं। उदाहरण के लिए, 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; }
आउटपुट