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
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