januari 31, 2022

Hoe twee afbeeldingen te vergelijken met behulp van Java OpenCV library?

om twee afbeeldingen te vergelijken−

  • lees beide met behulp van de Image. IO. read () methode.

  • krijg de hoogte en breedte van beide om ervoor te zorgen dat ze gelijk zijn.

  • haal de pixelwaarden en, haal de RGB-waarden van beide afbeeldingen.

  • krijg de som van de verschillen tussen de RGB-waarden van deze twee afbeeldingen.

  • Bereken het percentage van het verschil met behulp van de volgende formule−

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

voorbeeld

java importeren.awt.Kleur; importeer java.awt.afbeelding.Bufferafbeelding; javax importeren.imageio.ImageIO; import java. io. File; public class ComparingImages { public static void main (String args) gooit uitzondering { Bufferdimage img1 = ImageIO.lezen (nieuw bestand ("D:\\Images\\test1.jpg")); Bufferdimage img2 = ImageIO.lezen (nieuw bestand ("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)) { systeem.uit.println ("beide afbeeldingen moeten dezelfde dimwnsions hebben");} else { long diff = 0; for (int j = 0; j < h1; j++) { for (int i = 0; i < w1; I++) { //De RGB-waarden van een pixel ophalen 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 (); / / som van verschillen van RGB waarden van de twee afbeeldingen long data = Math.abs (r1-r2) + wiskunde.abs (g1-g2) + wiskunde.abs (b1-b2); diff = diff+data;}} dubbele avg = diff/(w1*h1*3); dubbel percentage = (avg/255)*100; systeem.uit.druk ("verschil:" + percentage); } }}

Input1

Input2

uitvoer

Difference: 92.54901960784314
raja

gepubliceerd op 09-Apr-2020 07:25:58

  • gerelateerde vragen & antwoorden
  • hoe komen de belangrijkste punten van twee images overeen met OpenCV Java library?
  • hoe blend ik op images met OpenCV Java?
  • hoe Bitwise en bewerking uit te voeren op twee images met Java OpenCV?
  • hoe een Bitwise XOR-bewerking uit te voeren op twee images met Java OpenCV?
  • hoe Bitwise of bewerking uit te voeren op twee images met Java OpenCV?
  • hoe beeldcontouren te vinden met behulp van de Java OpenCV library?
  • hoe een afbeelding spiegelen met behulp van de Java OpenCV library?
  • hoe beeldcontouren tekenen met behulp van de Java OpenCV library?
  • hoe een afbeelding te lezen met behulp van de Java OpenCV library?
  • hoe een image te schrijven met behulp van de Java OpenCV library?
  • Hoe maak ik een spiegelbeeld met behulp van de Java OpenCV library?
  • hoe bitwise niet-bewerking uit te voeren op images met Java OpenCV?
  • hoe RGB-afbeelding naar HSV te converteren met behulp van de Java OpenCV library?
  • hoe HSV naar gekleurde afbeeldingen converteren met behulp van de Java OpenCV library?
  • hoe HSV naar BGR-afbeelding te converteren met behulp van de Java OpenCV library?
advertenties

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.