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

OpenCV में इटरेटर विधि का उपयोग करके रंग कैसे कम करें?

ओपनसीवी में सी ++ एसटीएल संगत 'मैट इटरेटर' वर्ग है। इस 'Mat iterator' वर्ग का उपयोग करके, हम पिक्सेल को बहुत आसानी से एक्सेस कर सकते हैं। हमें 'मैट इटरेटर' क्लास का ऑब्जेक्ट बनाना है। हम इसे 'Mat_::iterator example' के रूप में कर सकते हैं। हमें 'Mat' जैसे 'Mat_' के बाद एक अंडरस्कोर का उपयोग करना होगा क्योंकि यह एक टेम्प्लेट विधि है। इस पद्धति में, 'इटरेटर' वर्ग का ऑब्जेक्ट बनाते समय रिटर्न प्रकार निर्दिष्ट किया जाना चाहिए। इसलिए हमने डेटाटाइप घोषित किया है।

निम्न प्रोग्राम दर्शाता है कि OpenCV में इटरेटर विधि का उपयोग करके रंग को कैसे कम किया जाए।

उदाहरण

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace std;//Declaring std namespace
using namespace cv;//Declaring cv namespace
void reducing_Color(Mat& image, int div = 64){ //Declaring the function//
   Mat_<Vec3b>::iterator iterator_start;//Declaring starting iterator//
   iterator_start = image.begin<Vec3b>();//Obtain iterator at initial position//
   Mat_<Vec3b>::iterator iterator_end;//Declaring ending iterator//
   iterator_end = image.end<Vec3b>();//Obtain iterator an end position//
   for (; iterator_start != iterator_end; iterator_start++){ //Loop for all pixels//
      (*iterator_start)[0] = (*iterator_start)[0] / div * div + div / 2;//Process pixels of first channel//
      (*iterator_start)[1] = (*iterator_start)[1] / div * div + div / 2;//Process pixels of second channel//
      (*iterator_start)[2] = (*iterator_start)[2] / div * div + div / 2;//Process pixels of third channel//
   }
}
int main() {
   Mat image;//taking an image matrix//
   image = imread("mango.jpg");//loading an image//
   namedWindow("Image Window");//Declaring another window//
   reducing_Color(image);//calling the function//
   imshow("Image Window", image);//showing the image with reduced color//
   waitKey(0);
   return 0;
}

आउटपुट

OpenCV में इटरेटर विधि का उपयोग करके रंग कैसे कम करें?


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

    किसी छवि की चमक और कंट्रास्ट का बढ़ना / घटाना ऐसे ऑपरेशन हैं जिन्हें छवि के पिक्सेल को बदलकर प्राप्त किया जा सकता है। इसे एक समीकरण के रूप में व्यक्त किया जा सकता है - g(i, j) =α । f(i, j)+ β कहां, (i, j) पिक्सल की पोजीशन हैं। α (लाभ) और β (पूर्वाग्रह) परिवर्तन के पैरामीटर हैं। कभी-कभी गेन

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

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

  1. Windows PC पर छवि का रंग कैसे उल्टा करें

    यह ट्यूटोरियल दिखाता है कि कैसे किसी छवि का रंग उल्टा करना . जब हम कहते हैं, किसी छवि के रंग को उलटना, हमारा मतलब किसी छवि का नकारात्मक बनाना है। जब किसी छवि के रंग को उलटने की बात आती है, तो बहुत सारे विकल्प उपलब्ध होते हैं। आप इसके लिए माइक्रोसॉफ्ट पेंट या अन्य मुफ्त सॉफ्टवेयर और ऑनलाइन टूल का उपय