Januar 31, 2022
Wie vergleiche ich zwei Bilder mit der Java OpenCV-Bibliothek?
Um zwei Bilder zu vergleichen −
-
Lesen Sie beide mit der Image.IO.read() -Methode.
-
Ermitteln Sie die Höhe und Breite beider, um sicherzustellen, dass sie gleich sind.
-
Ermitteln Sie die Pixelwerte und die RGB-Werte beider Bilder.
-
Ermitteln Sie die Summe der Unterschiede zwischen den RGB-Werten dieser beiden Bilder.
-
Berechnen Sie den Prozentsatz der Differenz mit der folgenden Formel −
Average = difference/weight*height*3;Percentage = (Average/255)*100;
Beispiel
Java importieren.awt.Farbe;Java importieren.awt.Bild.BufferedImage;javax importieren.imageio.ImageIO;import java.io.File;öffentliche Klasse ComparingImages { public static void main(String args) löst eine Ausnahme aus { BufferedImage img1 = ImageIO.lesen(neue Datei("D:\\Images\\test1.jpg")); BufferedImage img2 = ImageIO.lesen(neue Datei("D:\\Images\\test2.jpg")); int w1 = img1.getWidth(); int w2 = img2.getWidth(); int h1 = img1.getHeight(); int h2 = img2.getHeight(); wenn ((w1!=w2)||(h1!=h2)) { System.aus.println("Beide Bilder sollten die gleichen dimwnsions haben"); } else { long diff = 0; for (int j = 0; j < h1; j++) { for (int i = 0; i < w1; i++) { //Abrufen der RGB-Werte eines Pixels int pixel1 = img1.getRGB(i, j); Farbe color1 = neue Farbe (pixel1, true); int r1 = color1.getRed(); int g1 = color1.getGreen(); int b1 = color1.GetBlue(); int pixel2 = img2.getRGB(i, j); Farbe color2 = neue Farbe (pixel2, true); int r2 = color2.getRed(); int g2 = color2.getGreen(); int b2= color2.GetBlue(); //Summe der Unterschiede der RGB-Werte der beiden Bilder long data = Math.abs (r1-r2) +Math.abs (g1-g2)+ Math.abs(b1-b2); diff = diff + Daten; } } doppelter Durchschnitt = diff /(w1 * h1 * 3); doppelter Prozentsatz = (Durchschnitt / 255) * 100; System.aus.println("Differenz: "+Prozentsatz); } }}
Eingang1
Eingang2
Ausgang
Difference: 92.54901960784314
Veröffentlicht am 09-Apr-2020 07:25:58
- Verwandte Fragen & Antworten
- Wie werden die wichtigsten Punkte zweier Bilder mithilfe der OpenCV Java-Bibliothek abgeglichen?
- Wie füge ich Bilder mit OpenCV Java hinzu?
- Wie führe ich eine bitweise und Operation an zwei Bildern mit Java OpenCV durch?
- Wie führe ich eine bitweise XOR-Operation für zwei Bilder mit Java OpenCV durch?
- Wie führe ich eine bitweise ODER Operation an zwei Bildern mit Java OpenCV durch?
- Wie finde ich Bildkonturen mit der Java OpenCV-Bibliothek?
- Wie kann ich ein Bild mit der Java OpenCV-Bibliothek spiegeln?
- Wie zeichne ich Bildkonturen mit der Java OpenCV-Bibliothek?
- Wie lese ich ein Bild mit der Java OpenCV-Bibliothek?
- Wie schreibe ich ein Bild mit der Java OpenCV-Bibliothek?
- Wie erstelle ich ein Spiegelbild mit der Java OpenCV-Bibliothek?
- Wie führe ich eine bitweise Not-Operation für Bilder mit Java OpenCV durch?
- Wie konvertiere ich ein RGB-Bild mit der Java OpenCV-Bibliothek in HSV?
- Wie konvertiert man HSV mit der Java OpenCV-Bibliothek in ein farbiges Bild?
- Wie konvertiert man HSV mit der Java OpenCV-Bibliothek in ein BGR-Bild?
Anzeigen