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

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

किसी छवि की चमक और कंट्रास्ट का बढ़ना / घटाना ऐसे ऑपरेशन हैं जिन्हें छवि के पिक्सेल को बदलकर प्राप्त किया जा सकता है। इसे एक समीकरण के रूप में व्यक्त किया जा सकता है -

g(i, j) =α । f(i, j)+ β

कहां,

  • (i, j) पिक्सल की पोजीशन हैं।

  • α (लाभ) और β (पूर्वाग्रह) परिवर्तन के पैरामीटर हैं।

  • कभी-कभी गेन पैरामीटर इमेज के कंट्रास्ट को नियंत्रित करता है और बायस पैरामीटर इमेज की ब्राइटनेस को नियंत्रित करता है।

कन्वर्ट टू () org.opencv.core.Mat . की विधि क्लास किसी इमेज के कंट्रास्ट और ब्राइटनेस को बदलने के लिए दिए गए मैट्रिक्स पर जरूरी कैलकुलेशन करता है। यह विधि 4 पैरामीटर स्वीकार करती है -

  • चटाई -रिक्त मैट्रिक्स परिणाम को समान आकार और स्रोत मैट्रिक्स के प्रकार के साथ रखने के लिए।

  • rtype - आउटपुट मैट्रिक्स के प्रकार को निर्दिष्ट करने वाला पूर्णांक मान। यदि यह मान ऋणात्मक है, तो प्रकार स्रोत के समान ही होगा।

  • अल्फा - लाभ मूल्य, जो 0 से अधिक होना चाहिए (डिफ़ॉल्ट मान 1)।

  • बीटा - पूर्वाग्रह मान (डिफ़ॉल्ट मान 0)।

ओपनसीवी जावा लाइब्रेरी का उपयोग करके छवि के कंट्रास्ट को बदलना

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

इमेज के कंट्रास्ट को बदलने के लिए -

  • OpenCV नेटिव लाइब्रेरी को लोड लाइब्रेरी () विधि का उपयोग करके लोड करें।

  • इमरीड () विधि का उपयोग करके वांछित छवि की सामग्री को मैट ऑब्जेक्ट में पढ़ें।

  • पिछले चरण में प्राप्त मैट्रिक्स के समान आकार और टाइप के साथ एक खाली मैट्रिक्स बनाएं।

  • कन्वर्ट टू () . का आह्वान करें खाली मैट्रिक्स को पास करके विधि, -1 (एक ही प्रकार प्राप्त करने के लिए), अल्फा मान कंट्रास्ट को बढ़ाने या घटाने के लिए (0-1 या, 1-100) और, 0 को बीटा मान के रूप में।

  • परिणामी मैट्रिक्स की सामग्री को Imgcodecs.imwrite() विधि का उपयोग करके आउटपुट छवि के रूप में लिखें।

उदाहरण

आयात करें कोर लाइब्रेरी सिस्टम। लोड लाइब्रेरी (कोर.NATIVE_LIBRARY_NAME); // फ़ाइल से छवि पढ़ना स्ट्रिंग फ़ाइल ="D:\\Images\\car3.jpg"; मैट src =Imgcodecs.imread (फ़ाइल, Imgcodecs.IMREAD_COLOR); // एक खाली मैट्रिक्स बनाना मैट डेस्ट =नया मैट (src.rows (), src.cols (), src.type ()); // छवि के विपरीत बढ़ाना src.convertTo(dest, -1, 10, 0); // इमेज लिखना Imgcodecs.imwrite("D:\\Images\\altering_contrast_10.jpg", dest); }}

इनपुट इमेज

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

विभिन्न अल्फा . के लिए विभिन्न आउटपुट छवियां निम्नलिखित हैं मान -

α-मान:0.5

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

α-मान:0.8

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

α-मान:1.5

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

α-मान:2.0

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


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

    रंगीन छवि को सेपिया में बदलने के लिए एल्गोरिथम - प्रत्येक पिक्सेल का लाल हरा नीला मान प्राप्त करें इन 3 रंगों का औसत प्राप्त करें। गहराई और तीव्रता के मानों को परिभाषित करें (आदर्श रूप से 20, और 30)। मानों को − . के रूप में संशोधित करें लाल =लाल + (गहराई*2)। हरा =हरा +गहराई। नील

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

    एक नकारात्मक छवि को सकारात्मक में बदलने के लिए - ImageIO.read() विधि का उपयोग करके आवश्यक छवि पढ़ें। छवि की ऊंचाई और चौड़ाई प्राप्त करें। लूप के लिए नेस्टेड का उपयोग करना छवि में प्रत्येक पिक्सेल से होकर गुजरता है। getRGB() विधि का उपयोग करके पिक्सेल मान प्राप्त करें। एक पिक्सेल से प्

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

    OpenCV लाइब्रेरी का उपयोग करके आप इमेज प्रोसेसिंग ऑपरेशन जैसे इमेज फिल्टरिंग, ज्योमेट्रिकल इमेज ट्रांसफॉर्मेशन, कलर स्पेस कन्वर्जन, हिस्टोग्राम आदि कर सकते हैं। इमेज लिखना जब भी आप Imgcodecs वर्ग की imread() पद्धति का उपयोग करके किसी छवि की सामग्री को पढ़ते हैं तो परिणाम मैट्रिक्स ऑब्जेक्ट में पढ़ा