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

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


रंग अंतरिक्ष प्रोटोकॉल का उपयोग करके आप एक छवि में रंगों का प्रतिनिधित्व कर सकते हैं। OpenCV में कई रंग स्थान उपलब्ध हैं, उनमें से कुछ हैं -

  • बीजीआर - आरजीबी इसमें सबसे व्यापक रूप से इस्तेमाल किया जाने वाला रंग स्थान है, प्रत्येक पिक्सेल वास्तव में तीन अलग-अलग रंगों (तीव्रता) मानों से बनता है:लाल, नीला और हरा, यह ओपनसीवी में डिफ़ॉल्ट रंग स्थान है लेकिन इसे बीजीआर के रूप में संग्रहीत किया जाता है।

  • एचएसवी - HSV कलर स्पेस में रंग, संतृप्ति और चमक को बदलकर अलग-अलग रंग बनते हैं।

  • सीएमके - यह एक सबट्रेक्टिव कलर स्पेस है, इसमें सफेद से शुरू करके सियान, मैजेंटा और येलो वैल्यू को घटाकर अलग-अलग रंग बनाए जाते हैं।

  • युव - Y'UV एक रंग स्थान को एक लूमा (Y') और दो क्रोमिनेंस (UV) घटकों के संदर्भ में परिभाषित करता है। Y'UV रंग मॉडल का उपयोग निम्नलिखित मिश्रित रंग वीडियो मानकों में किया जाता है।

आप cvtColor() का उपयोग करके किसी छवि के प्रतिनिधित्व को एक रंग स्थान से दूसरे रंग में परिवर्तित कर सकते हैं org.opencv.imgproc.Imgproc . की विधि कक्षा। यह विधि स्रोत छवि, गंतव्य छवि और गंतव्य छवि के रंग का प्रतिनिधित्व करने वाले कोड को स्वीकार करती है।

रंग स्थान को BGR से HSV में बदलने के लिए आपको COLOR_BGR2HSV पास करना होगा रंग कोड मान के रूप में। इसी तरह कलर स्पेस को BGR से YUV में बदलने के लिए आपको COLOR_BGR2YUV पास करना होगा रंग कोड के रूप में।

उदाहरण

आयात करें चेंजिंगकलरस्पेस {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क []) अपवाद फेंकता है {// ओपनसीवी कोर लाइब्रेरी सिस्टम लोड हो रहा है। लोड लाइब्रेरी (कोर.NATIVE_LIBRARY_NAME); // छवि पढ़ना Mat src =Imgcodecs.imread("D:\\images\\elephant.jpg"); // खाली गंतव्य मैट्रिक्स बनाना Mat dst =new Mat (); // BGR से ग्रे Imgproc.cvtColor (src, dst, Imgproc.COLOR_BGR2GRAY) में कनवर्ट करना; HighGui.imshow ("बीजीआर टू ग्रे", डीएसटी); डीएसटी =नया मैट (); // BGR से HSV Imgproc.cvtColor (src, dst, Imgproc.COLOR_BGR2HSV) में कनवर्ट करना; HighGui.imshow ("बीजीआर से एचएसवी", डीएसटी); डीएसटी =नया मैट (); // BGR से HSV Imgproc.cvtColor (src, dst, Imgproc.COLOR_RGB2YUV) में कनवर्ट करना; HighGui.imshow ("बीजीआर से वाईयूवी", डीएसटी); हाईगुई.वेटकी (); }}

इनपुट इमेज

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

आउटपुट

निष्पादित करने पर, उपरोक्त प्रोग्राम निम्नलिखित विंडो उत्पन्न करता है -

BGR से धूसर -

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

BGR से HSV -

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

BGR से YUV -

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


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

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

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

    एक पिक्सेल एक डिजिटल छवि का सबसे छोटा तत्व है, प्रत्येक पिक्सेल में अल्फा, लाल, हरे, नीले मान के मान होते हैं। पिक्सेल मान (मानों) को उसी क्रम में ARGB मान (प्रत्येक में 8 बिट) रखने वाले 32-बिट मेमोरी स्पेस में संग्रहीत किया जाता है। इसलिए, इमेज का रंग बदलने के लिए - आपको छवि के प्रत्येक पिक्सेल

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

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