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

OpenCV में इक्वलाइज़हिस्ट () फ़ंक्शन क्या है?

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

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

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

सिंटैक्स

equalizeHist(Source Matrix, Destination Matrix).

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

निम्न प्रोग्राम equalizeHist() . को प्रदर्शित करता है OpenCV में कार्य करें।

उदाहरण

#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;//Declaring a matrix//
   original = imread("sky.jpg");//loading image//
   vectorchannels;//vector to store each channel in different array//
   Mat hist;//Declaring a matrix//
   cvtColor(original, hist, COLOR_BGR2YCrCb);//Converting from BGR to YCrCB//
   split(hist, channels);//splitting channels//
   equalizeHist(channels[2], channels[2]);//applying histogram equalizer in 2nd channel//
   Mat histeql;//Declaring a matrix//
   merge(channels, hist);//merging equalized channel with actual matrix//
   cvtColor(hist, histeql, COLOR_YCrCb2BGR);//Reconverting to BGR//
   namedWindow("original");//window to show original image//
   namedWindow("hist");//window to show edited image//
   imshow("original", original);//showing original image//
   imshow("hist", histeql);//showing edited image//
   waitKey(0);//wait for keystroke//
   return 0;
}

आउटपुट

OpenCV में इक्वलाइज़हिस्ट () फ़ंक्शन क्या है?


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

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

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

    इस प्रोग्राम में, हम opencv फंक्शन ब्लर () का उपयोग करके एक इमेज को ब्लर करेंगे। एल्गोरिदम Step 1: Import OpenCV. Step 2: Import the image. Step 3: Set the kernel size. Step 4: Call the blur() function and pass the image and kernel size as parameters. Step 5: Display the results. मूल चित्र उदाहरण

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

    इस लेख में, हम OpenCV फ़ंक्शन सर्कल () का उपयोग करके एक छवि पर एक वृत्त खींचेंगे। मूल चित्र एल्गोरिदम Step 1: Import OpenCV. Step 2: Define the radius of circle. Step 3: Define the center coordinates of the circle. Step 4: Define the color of the circle. Step 5: Define the thickness. Step 6: Pass