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
 raja

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.