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

OpenCV में equalizeHist() फंक्शन क्या है?


किसी छवि का हिस्टोग्राम पिक्सेल की तीव्रता मानों की आवृत्ति दिखाता है। छवि हिस्टोग्राम में, X-अक्ष ग्रे लेवल तीव्रता दिखाता है और Y-अक्ष इन तीव्रताओं की आवृत्ति दिखाता है।

हिस्टोग्राम इक्वलाइज़ेशन तीव्रता रेंज को फैलाकर छवि के कंट्रास्ट में सुधार करता है। आप equalizeHist() फंक्शन का उपयोग करके दी गई छवि के हिस्टोग्राम को इक्वलाइज़ कर सकते हैं।

इस फंक्शन का मूल सिंटैक्स है -

सिंटैक्स

equalizeHist(Source Matrix, Destination Matrix).

इस प्रोग्राम में, यह एक ग्रेस्केल छवि को इक्वलाइज़ करता है। इसका मतलब है कि केवल एक चैनल है। यह फंक्शन उस एकल चैनल के पिक्सेल मान को इक्वलाइज़ करता है। हालांकि, जब हम इस फंक्शन को रंगीन छवि पर लागू करते हैं, तो हमें स्रोत और गंतव्य मैट्रिक्स के बजाय अलग-अलग चैनलों को परिभाषित करना होगा। निम्नलिखित प्रोग्राम में, हम रंगीन छवि में equalizehist() के अनुप्रयोग को देखेंगे।

OpenCV में equalizeHist() फंक्शन को दर्शाने वाला निम्नलिखित प्रोग्राम।

उदाहरण

#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 original;//एक मैट्रिक्स घोषित करना//    original = imread("sky.jpg");//छवि लोड करना//    vectorchannels;//प्रत्येक चैनल को अलग सरणी में संग्रहीत करने के लिए वेक्टर//    Mat hist;//एक मैट्रिक्स घोषित करना//    cvtColor(original, hist, COLOR_BGR2YCrCb);//BGR से YCrCB में परिवर्तित करना//    split(hist, channels);//चैनलों को विभाजित करना//    equalizeHist(channels[2], channels[2]);//दूसरे चैनल में हिस्टोग्राम इक्वलाइज़र लागू करना//    Mat histeql;//एक मैट्रिक्स घोषित करना//    merge(channels, hist);//इक्वलाइज़्ड चैनल को वास्तविक मैट्रिक्स के साथ मर्ज करना//    cvtColor(hist, histeql, COLOR_YCrCb2BGR);//BGR में पुनः परिवर्तित करना//    namedWindow("original");//मूल छवि दिखाने के लिए विंडो//    namedWindow("hist");//संपादित छवि दिखाने के लिए विंडो//    imshow("original", original);//मूल छवि दिखाना//    imshow("hist", histeql);//संपादित छवि दिखाना//    waitKey(0);//कीस्ट्रोक की प्रतीक्षा करना//    return 0; }

आउटपुट

OpenCV में equalizeHist() फंक्शन क्या है?


  1. OpenCV के Gaussian Blur() फ़ंक्शन का उपयोग करके छवि को धुंधला करना OpenCV के Gaussian Blur() फ़ंक्शन का उपयोग करके छवि को धुंधला करना

    इस प्रोग्राम में, हम openCV फ़ंक्शन GaussianBlur() का उपयोग करके छवि को धुंधला करेंगे। गाऊसी ब्लर गाऊसी फ़ंक्शन का उपयोग करके छवि को धुंधला करने की प्रक्रिया है। यह ग्राफिक्स सॉफ़्टवेयर में छवि से शोर हटाने और विवरण कम करने के लिए व्यापक रूप से उपयोग किया जाता है। एल्गोरिदम चरण 1: cv2 आयात करें। चर

  1. OpenCV के blur() फ़ंक्शन का उपयोग करके छवि को धुंधला करना OpenCV के blur() फ़ंक्शन का उपयोग करके छवि को धुंधला करना

    इस प्रोग्राम में, हम opencv फ़ंक्शन blur() का उपयोग करके छवि को धुंधला करेंगे। एल्गोरिदम चरण 1: OpenCV आयात करें। चरण 2: छवि आयात करें। चरण 3: कर्नेल आकार सेट करें। चरण 4: blur() फ़ंक्शन को कॉल करें और पैरामीटर के रूप में छवि और कर्नेल आकार पास करें। चरण 5: परिणाम प्रदर्शित करें। मूल छवि उदाहरण को

  1. OpenCV के circle() फ़ंक्शन का उपयोग करके वृत्त बनाना OpenCV के circle() फ़ंक्शन का उपयोग करके वृत्त बनाना

    इस लेख में, हम OpenCV फ़ंक्शन circle() का उपयोग करके छवि पर एक वृत्त बनाएंगे। मूल छवि एल्गोरिदम चरण 1: OpenCV आयात करें। चरण 2: वृत्त की त्रिज्या परिभाषित करें। चरण 3: वृत्त के केंद्र निर्देशांक परिभाषित करें। चरण 4: वृत्त का रंग परिभाषित करें। चरण 5: मोटाई परिभाषित करें। चरण 6: छवि के साथ उपरोक्त