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

Java OpenCV लाइब्रेरी का उपयोग करके रंगीन इमेज को ग्रेस्केल के रूप में पढ़ना


Imgcodecs क्लास की imread() मेथड एक स्ट्रिंग मान स्वीकार करती है जो फाइल नाम को दर्शाता है। यह मेथड निर्दिष्ट फाइल की सामग्री को मैट्रिक्स ऑब्जेक्ट में पढ़ती है और इसे लौटाती है। इस मेथड का उपयोग करके आप इमेज की सामग्री पढ़ सकते हैं।

इसके अलावा, Imgcodecs क्लास इस मेथड का एक और वेरिएंट प्रदान करती है जो एक पूर्णांक मान स्वीकार करता है जो आवश्यक रीडिंग मोड को निर्दिष्ट करने वाले फ्लैग को दर्शाता है।

Imgcodecs क्लास के निम्न फील्ड हैं जिनका उपयोग फ्लैग मान के रूप में किया जा सकता है।

  • IMREAD_COLOR − यदि फ्लैग इस मान पर सेट है, तो लोड की गई इमेज को 3-चैनल BGR (ब्लू ग्रीन रेड) कलर इमेज में बदल दिया जाएगा।

  • IMREAD_GRAYSCALE − यदि फ्लैग इस मान पर सेट है, तो लोड की गई इमेज को सिंगल-चैनल ग्रेस्केल इमेज में बदल दिया जाएगा।

  • IMREAD_LOAD_GDAL − यदि फ्लैग इस मान पर सेट है, तो आप GDAL ड्राइवर का उपयोग करके इमेज लोड कर सकते हैं।

  • IMREAD_ANYCOLOR − यदि फ्लैग इस मान पर सेट है, तो इमेज को किसी भी संभावित कलर फॉर्मेट में पढ़ा जाता है।

  • IMREAD_REDUCED_COLOR_2 या,
     IMREAD_REDUCED_COLOR_4 या,
    IMREAD_REDUCED_COLOR_8
    − यदि फ्लैग इस मान पर सेट है, तो इमेज को थ्री-चैनल BGR के रूप में पढ़ा जाता है, और इमेज का आकार मूल आकार के ½, ¼ या ⅛ तक कम हो जाता है, जो उपयोग किए गए फील्ड के संबंध में होता है।

  • IMREAD_REDUCED_GRAYSCALE_2 या,
     IMREAD_REDUCED_GRAYSCALE_4 या,
     IMREAD_REDUCED_GRAYSCALE_8
    − यदि फ्लैग इस मान पर सेट है, तो इमेज को सिंगल-चैनल ग्रेस्केल इमेज के रूप में पढ़ा जाता है, और इमेज का आकार मूल आकार के ½, ¼ या ⅛ तक कम हो जाता है, जो उपयोग किए गए फील्ड के संबंध में होता है।

  • IMREAD_UNCHANGED − यदि फ्लैग इस मान पर सेट है, तो लोड की गई इमेज को वैसे ही लौटाया जाता है।

इसलिए, यदि आपको रंगीन इमेज को ग्रेस्केल इमेज के रूप में पढ़ने की आवश्यकता है, तो आपको IMREAD_GRAYSCALE या, IMREAD_REDUCED_GRAYSCALE_X को पैरामीटर के रूप में पास करना चाहिए।

उदाहरण 1

import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; public class ReadAsGreyScale {    public static void main(String args[]) {       // OpenCV कोर लाइब्रेरी लोड कर रहा है       System.loadLibrary(Core.NATIVE_LIBRARY_NAME);       // फाइल से इमेज पढ़ रहा है       Mat matrix = Imgcodecs.imread("D://images//sunset.jpg", Imgcodecs.IMREAD_GRAYSCALE);       // इमेज लिख रहा है       Imgcodecs.imwrite("D://images//sunset_greyscale.jpg", matrix);       System.out.println("Image re-Saved");    } }

इनपुट

Java OpenCV लाइब्रेरी का उपयोग करके रंगीन इमेज को ग्रेस्केल के रूप में पढ़ना

आउटपुट

Java OpenCV लाइब्रेरी का उपयोग करके रंगीन इमेज को ग्रेस्केल के रूप में पढ़ना

उदाहरण 2

import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; public class ReadingAsGrey2 {    public static void main(String args[]) {       // OpenCV कोर लाइब्रेरी लोड कर रहा है       System.loadLibrary(Core.NATIVE_LIBRARY_NAME);       String input = "D://images//sunset.jpg";       // फाइल से इमेज पढ़ रहा है       Mat matrix = Imgcodecs.imread(input, Imgcodecs.IMREAD_REDUCED_GRAYSCALE_4 );       // इमेज लिख रहा है       Imgcodecs.imwrite("D://images//sunset_grey_8.jpg", matrix);       System.out.println("Image re-Saved");    } }

आउटपुट

Java OpenCV लाइब्रेरी का उपयोग करके रंगीन इमेज को ग्रेस्केल के रूप में पढ़ना


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

    Imgproc क्लास की cvtColor() मेथड इमेज के रंग को एक से दूसरे में बदलती है। यह मेथड तीन पैरामीटर्स स्वीकार करती है −src − स्रोत को दर्शाने वाला एक मैट्रिक्स ऑब्जेक्ट।dst − गंतव्य को दर्शाने वाला एक मैट्रिक्स ऑब्जेक्ट।code − गंतव्य इमेज के रंग को दर्शाने वाला एक पूर्णांक मान।रंगीन इमेज को ग्रेस्केल में

  1. Java OpenCV लाइब्रेरी का उपयोग करके रंगीन इमेज को ग्रेस्केल के रूप में पढ़ना Java OpenCV लाइब्रेरी का उपयोग करके रंगीन इमेज को ग्रेस्केल के रूप में पढ़ना

    Imgcodecs क्लास की imread() मेथड एक स्ट्रिंग मान स्वीकार करती है जो फाइल नाम को दर्शाता है। यह मेथड निर्दिष्ट फाइल की सामग्री को मैट्रिक्स ऑब्जेक्ट में पढ़ती है और इसे लौटाती है। इस मेथड का उपयोग करके आप इमेज की सामग्री पढ़ सकते हैं।इसके अलावा, Imgcodecs क्लास इस मेथड का एक और वेरिएंट प्रदान करती है

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

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