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

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


दो इमेज की तुलना करने के लिए −

  • दोनों को Image.IO.read() मेथड का उपयोग करके पढ़ें।

  • उनकी ऊंचाई और चौड़ाई प्राप्त करें ताकि यह सुनिश्चित हो सके कि वे समान हैं।

  • पिक्सेल मान प्राप्त करें और दोनों इमेज के RGB मान प्राप्त करें।

  • दोनों इमेज के RGB मानों के अंतर का योग प्राप्त करें।

  • निम्न सूत्र का उपयोग करके अंतर का प्रतिशत निकालें −

Average = difference/width*height*3; Percentage = (Average/255)*100;

उदाहरण

import java.awt.Color; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; public class ComparingImages {    public static void main(String[] args) throws Exception {       BufferedImage img1 = ImageIO.read(new File("D:\\Images\\test1.jpg"));       BufferedImage img2 = ImageIO.read(new File("D:\\Images\\test2.jpg"));       int w1 = img1.getWidth();       int w2 = img2.getWidth();       int h1 = img1.getHeight();       int h2 = img2.getHeight();       if ((w1!=w2)||(h1!=h2)) {          System.out.println("Both images should have same dimwnsions");       } else {          long diff = 0;          for (int j = 0; j < h1; j++) {             for (int i = 0; i < w1; i++) {                // पिक्सेल के RGB मान प्राप्त कर रहा है                int pixel1 = img1.getRGB(i, j);                Color color1 = new Color(pixel1, true);                int r1 = color1.getRed();                int g1 = color1.getGreen();                int b1 = color1.getBlue();                int pixel2 = img2.getRGB(i, j);                Color color2 = new Color(pixel2, true);                int r2 = color2.getRed();                int g2 = color2.getGreen();                int b2= color2.getBlue();                 // दोनों इमेज के RGB मानों के अंतर का योग                long data = Math.abs(r1-r2)+Math.abs(g1-g2)+ Math.abs(b1-b2);                diff = diff+data;             }          }          double avg = diff/(w1*h1*3);          double percentage = (avg/255)*100;          System.out.println("Difference: "+percentage);       }    } }

इनपुट1

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

इनपुट2

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

आउटपुट

Difference: 92.54901960784314

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

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

  1. Java OpenCV का उपयोग करके दो इमेज पर बिटवाइज़ OR ऑपरेशन कैसे करें? Java OpenCV का उपयोग करके दो इमेज पर बिटवाइज़ OR ऑपरेशन कैसे करें?

    आप org.opencv.core.Core क्लास की bitwise_or() मेथड का उपयोग करके दो इमेज के बीच बिटवाइज़ OR की गणना कर सकते हैं।यह मेथड स्रोत, गंतव्य और परिणाम मैट्रिक्स को दर्शाने वाले तीन Mat ऑब्जेक्ट्स स्वीकार करती है, स्रोत मैट्रिक्स में प्रत्येक तत्व का बिटवाइज़ डिस्जंक्शन निकालती है और परिणाम को गंतव्य मैट्रि

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

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