31 stycznia, 2022
Jak porównać dwa obrazy przy użyciu biblioteki Java OpenCV?
aby porównać dwa zdjęcia−
-
odczyt obu z nich za pomocą metody Image.IO.read ().
-
uzyskaj wysokość i szerokość obu z nich, aby upewnić się, że są równe.
-
uzyskaj wartości pikseli i wartości RGB obu obrazów.
-
uzyskaj sumę różnic między wartościami RGB tych dwóch obrazów.
-
Oblicz procent różnicy za pomocą następującego wzoru−
Average = difference/weight*height*3;Percentage = (Average/255)*100;
przykład
Importuj Javę.awt.Color; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; public class ComparingImages { public static void main (String args) wyrzuca wyjątek { BufferedImage img1 = ImageIO.read (nowy plik("D:\\Images\\test1.jpg")); BufferedImage img2 = ImageIO.read (nowy plik("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.Wynocha.println ("oba obrazy powinny mieć te same dimwnsions");} else { long diff = 0; for (int j = 0; j < h1; j++) {for (int i = 0; i < w1; i++) {//pobieranie wartości RGB piksela int pixel1 = img1.getRGB( i, j); Color color1 = nowy Kolor(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 (); / / suma różnic wartości RGB dwóch obrazów long data = Math.abs (r1-R2)+Matematyka.abs (g1-g2)+ Matematyka.abs (b1-b2); diff = diff+data;}} double avg = diff / (w1*h1*3); double percentage = (avg/255)*100; System.Wynocha.println ("różnica:" + procent); } }}
Input1
Input2
wyjście
Difference: 92.54901960784314
opublikowano 09-kwiecień-2020 07:25:58
- powiązane pytania & odpowiedzi
- jak dopasować kluczowe punkty dwóch obrazów za pomocą biblioteki Java OpenCV?
- jak mieszać do obrazów za pomocą Javy OpenCV?
- jak wykonać bitowe i operacje na dwóch obrazach przy użyciu Java OpenCV?
- jak wykonać bitową operację XOR na dwóch obrazach przy użyciu Java OpenCV?
- jak wykonać bitową lub operację na dwóch obrazach przy użyciu Java OpenCV?
- jak znaleźć kontury obrazu przy użyciu biblioteki Java OpenCV?
- jak odwrócić obraz przy użyciu biblioteki Java OpenCV?
- jak rysować kontury obrazu przy użyciu biblioteki Java OpenCV?
- jak odczytać obraz przy użyciu biblioteki Java OpenCV?
- Jak napisać obraz przy użyciu biblioteki Java OpenCV?
- jak utworzyć lustrzane odbicie przy użyciu biblioteki Java OpenCV?
- jak wykonać bitową operację nie na obrazach przy użyciu Java OpenCV?
- jak przekonwertować obraz RGB na HSV przy użyciu biblioteki Java OpenCV?
- jak przekonwertować HSV na kolorowy obraz za pomocą biblioteki Java OpenCV?
- jak przekonwertować obraz HSV na BGR za pomocą biblioteki Java OpenCV?
ogłoszenia