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
Raja

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.