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

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


रंगीन इमेज को सेपिया में बदलने का एल्गोरिदम −

  • प्रत्येक पिक्सेल के लाल, हरे, नीले मान प्राप्त करें

  • इन 3 रंगों का औसत प्राप्त करें।

  • गहराई और तीव्रता मान परिभाषित करें (आदर्श रूप से 20 और 30)।

  • मानों को निम्नानुसार संशोधित करें −

    • लाल = लाल + (गहराई*2)।

    • हरा = हरा + गहराई।

    • नीला = नीला - तीव्रता।

  • सुनिश्चित करें कि संशोधित मान 0 से 255 के बीच हैं।

  • संशोधित रंगों से एक नया पिक्सेल मान बनाएं और नए मान को पिक्सेल पर सेट करें।

Java में कार्यान्वयन

  • ImageIO.read() मेथड का उपयोग करके आवश्यक इमेज पढ़ें।

  • इमेज की ऊंचाई और चौड़ाई प्राप्त करें।

  • नेस्टेड फॉर लूप का उपयोग करके इमेज में प्रत्येक पिक्सेल को पार करें।

  • getRGB() मेथड का उपयोग करके पिक्सेल मान प्राप्त करें।

  • उपरोक्त पुनर्प्राप्त पिक्सेल मान को पैरामीटर के रूप में पास करके एक Color ऑब्जेक्ट बनाएं।

  • getRed(), getGreen() और getBlue() मेथड्स का उपयोग करके कलर ऑब्जेक्ट से लाल, हरे, नीले मान प्राप्त करें।

  • एल्गोरिदम में निर्दिष्ट अनुसार नए लाल, हरे और नीले मानों की गणना करें।

  • संशोधित RGB मानों के साथ एक नया पिक्सेल बनाएं।

  • setRGB() मेथड का उपयोग करके नए पिक्सेल मान सेट करें।

उदाहरण

import java.io.File; import java.io.IOException; import java.awt.Color; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class Color2Sepia {    public static void main(String args[])throws IOException {       // इमेज पढ़ रहा है       File file= new File("D:\\Images\\cuba.jpg");       BufferedImage img = ImageIO.read(file);       for (int y = 0; y < img.getHeight(); y++) {          for (int x = 0; x < img.getWidth(); x++) {             // एक पिक्सेल के मान प्राप्त कर रहा है             int pixel = img.getRGB(x,y);             // पिक्सेल मान से Color ऑब्जेक्ट बना रहा है             Color color = new Color(pixel, true);             // R G B मान प्राप्त कर रहा है             int red = color.getRed();             int green = color.getGreen();             int blue = color.getBlue();             int avg = (red+green+blue)/3;             int depth = 20;             int intensity = 30;             red= avg+(depth*2);             green = avg+depth;             blue = avg-intensity;             // सुनिश्चित कर रहा है कि RGB मान 0-255 के बीच हों             if (red > 255)red = 255;             if (green > 255)green = 255;             if (blue > 255)blue = 255;             if (blue<0)blue=0;             // नया Color ऑब्जेक्ट बना रहा है             color = new Color(red, green, blue);             // इमेज पर नया Color ऑब्जेक्ट सेट कर रहा है             img.setRGB(x, y, color.getRGB());          }       }       // संशोधित इमेज सेव कर रहा है       file = new File("D:\\Images\\sepia_image2.jpg");       ImageIO.write(img, "jpg", file);       System.out.println("Done...");    } }

इनपुट

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

आउटपुट

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


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

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

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

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

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

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