januari 31, 2022

Hur jämför jag två bilder med Java OpenCV library?

för att jämföra två bilder−

  • Läs dem båda med metoden Image.Io. read ().

  • få höjden och bredden på dem båda för att se till att de är lika.

  • hämta pixelvärdena och få RGB-värdena för båda bilderna.

  • få summan av skillnaderna mellan RGB-värdena för dessa två bilder.

  • beräkna procentandelen av skillnaden med följande formel−

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

exempel

 importera java.awt.Färg; importera java.awt.bild.BufferedImage; importera javax.imageio.ImageIO; importera java.Io. File;public class ComparingImages { public static void main(String args) kastar undantag { BufferedImage img1 = ImageIO.läs (ny fil("D:\\Images\\test1.jpg")); BufferedImage img2 = ImageIO.läs (ny fil("D:\\Images\\test2.jpg")); int w1 = img1.getWidth (); int w2 = img2.getWidth (); int h1 = img1.getHeight (); int h2 = img2.getHeight (); om ((w1!= w2) / / (h1!= h2)) {systemet.ut.println ("båda bilderna ska ha samma dimwnsions");} else { long diff = 0; för (int j = 0; j < h1; j++) { för (int i = 0; i < w1; i++) { //få RGB-värdena för en pixel int pixel1 = img1.getRGB( I, j); färg color1 = ny färg(pixel1, sant); int r1 = color1.getRed (); int g1 = color1.getGreen (); int b1 = color1.getBlue (); int pixel2 = img2.getRGB(I, j); färg color2 = ny färg (pixel2, sant); int r2 = color2.getRed (); int g2 = color2.getGreen (); int b2= color2.getBlue (); //summan av skillnader i RGB-värden för de två bilderna långa data = matematik.abs (r1-r2)+matematik.abs (g1-g2)+ matematik.abs (b1-b2); diff = diff+data;}} dubbel avg = diff/(w1*h1*3); dubbel procentandel = (avg/255)*100; systemet.ut.println ("skillnad:" + procent); } }}

Input1

Input2

utgång

Difference: 92.54901960784314
raja

publicerad 09-Apr-2020 07:25:58

  • relaterade frågor & svar
  • hur matchar du huvudpunkterna i två bilder med OpenCV Java library?
  • hur blandar du till bilder med OpenCV Java?
  • hur man utför bitvis och drift på två bilder med Java OpenCV?
  • hur man utför bitvis XOR-operation på två bilder med Java OpenCV?
  • hur man utför bitvis eller operation på två bilder med Java OpenCV?
  • hur hittar du bildkonturer med Java OpenCV-bibliotek?
  • hur man vänder en bild med Java OpenCV library?
  • hur man ritar bildkonturer med Java OpenCV-bibliotek?
  • hur man läser en bild med Java OpenCV bibliotek?
  • hur man skriver en bild med Java OpenCV bibliotek?
  • hur man skapar en spegelbild med Java OpenCV bibliotek?
  • hur man utför bitvis inte operation på bilder med Java OpenCV?
  • Hur konverterar man RGB-bild till HSV med Java OpenCV library?
  • Hur konverterar man HSV till färgad bild med Java OpenCV library?
  • Hur konverterar man HSV till BGR-bild med Java OpenCV library?
annonser

Lämna ett svar

Din e-postadress kommer inte publiceras.