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

OpenCV में C++ का उपयोग करके छवि की चमक कैसे बदलें


चमक बदलने का अर्थ है पिक्सेल के मान को बदलना। इसका मतलब है प्रत्येक पिक्सेल के वर्तमान मान के साथ कुछ पूर्णांक मान जोड़ना या घटाना। जब आप प्रत्येक पिक्सेल के साथ कुछ पूर्णांक मान जोड़ते हैं, तो इसका मतलब है कि आप छवि को उज्जवल बना रहे हैं। जब आप सभी पिक्सेल से कुछ स्थिर मान घटाते हैं, तो आप चमक कम कर रहे हैं। पहले, हम सीखेंगे कि चमक कैसे बढ़ाएं और दूसरा हम सीखेंगे कि चमक कैसे कम करें।

चमक बढ़ाना

OpenCV का उपयोग करके चमक बढ़ाना बहुत आसान है। चमक बढ़ाने के लिए, प्रत्येक चैनल के साथ कुछ अतिरिक्त मान जोड़ें, और चमक बढ़ जाएगी। उदाहरण के लिए, BRG छवियों में तीन चैनल होते हैं: नीला (B), हरा (G) और लाल (R)। इसका मतलब है कि एक पिक्सेल का वर्तमान मान (B, G, R) होगा। चमक बढ़ाने के लिए, हमें इसके साथ कुछ स्केलर नंबर जोड़ना होगा जैसे (B, G, R) + (10, 10, 10) या (B, G, R) + (20, 20, 20) या जो भी नंबर आप चाहते हैं।

निम्नलिखित उदाहरण छवि को उज्जवल करता है -

उदाहरण

#include<iostream> #include<opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() {    Mat original;//मूल छवि लोड करने के लिए मैट्रिक्स घोषित करना//    Mat brighter;//चमक बदलने के बाद छवि लोड करने के लिए मैट्रिक्स घोषित करना//    namedWindow("Original");//मूल छवि दिखाने के लिए विंडो घोषित करना//    namedWindow("Brighter");//उज्जवल छवि दिखाने के लिए विंडो घोषित करना//    original = imread("bright.jpg");    brighter = original + Scalar(80, 80, 80);//चमक बदलने के लिए पूर्णांक मान जोड़ना//    imshow("Original", original);//मूल छवि दिखाना//    imshow("Brighter", brighter);//उज्जवल छवि दिखाना//    waitKey(0);//कीस्ट्रोक की प्रतीक्षा करना//    return(0); }

आउटपुट

OpenCV में C++ का उपयोग करके छवि की चमक कैसे बदलें


  1. OpenCV में C++ का उपयोग करके इमेज के चैनलों की संख्या कैसे गिनें? OpenCV में C++ का उपयोग करके इमेज के चैनलों की संख्या कैसे गिनें?

    इस विषय में, हम समझेंगे कि इमेज के चैनलों की संख्या कैसे पता करें। प्रोग्राम चलाने के बाद, चैनलों की संख्या कंसोल विंडो में दिखाई जाएगी। चैनलों की संख्या प्राप्त करने के लिए, हमने OpenCV की channels() नामक एक क्लास का उपयोग किया है। जब हम इमेज मैट्रिक्स को channels() क्लास के ऑब्जेक्ट के रूप में पास

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

    org.opencv.core.Mat क्लास की convertTo() मेथड दी गई मैट्रिक्स पर आवश्यक गणना करती है ताकि इमेज के कंट्रास्ट और ब्राइटनेस को बदला जा सके। यह मेथड 4 पैरामीटर्स स्वीकार करती है −mat − परिणाम रखने के लिए खाली मैट्रिक्स जिसका आकार और प्रकार स्रोत मैट्रिक्स के समान हो।rtype − आउटपुट मैट्रिक्स के प्रकार को

  1. इमेज रिसाइज़र के साथ आसानी से इमेज फॉर्मेट बदलें - चरण-दर-चरण गाइड इमेज रिसाइज़र के साथ आसानी से इमेज फॉर्मेट बदलें - चरण-दर-चरण गाइड

    एक डिजिटल इमेज, हाथ में लिए गए स्नैपशॉट के विपरीत, विभिन्न उद्देश्यों के लिए उपयोग की जा सकती है। आप उन्हें रिसाइज़, ट्रिम, रोटेट, और रिसाइज़ कर सकते हैं, साथ ही उनके फॉर्मेट को संशोधित भी कर सकते हैं। हालांकि, यह सब करने के लिए, आपको एक इमेज एडिटर टूल की आवश्यकता होगी जो इन कार्यों में आपकी सहायता