31 ledna, 2022

Jak porovnat dva obrázky pomocí knihovny Java OpenCV?

pro porovnání dvou obrázků−

  • Přečtěte si oba pomocí metody Image.IO.read ().

  • získejte výšku a šířku obou z nich, abyste se ujistili, že jsou si rovni.

  • získejte hodnoty pixelů a získejte hodnoty RGB obou obrázků.

  • získejte součet rozdílů mezi hodnotami RGB těchto dvou obrázků.

  • Vypočítejte procento rozdílu pomocí následujícího vzorce−

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

příklad

import java.VT.Barva; import java.VT.obrázek.BufferedImage; import javax.imageio.ImageIO; import java. io. File;public class ComparingImages { public static void main (String args) hodí výjimku { BufferedImage img1 = ImageIO.číst (nový soubor ("D:\\Images\\test1.jpg")); BufferedImage img2 = ImageIO.číst (nový soubor ("D:\\Images\\test2.jpg")); int w1 = img1.getWidth(); int w2 = img2.getWidth (); int h1 = img1.getHeight (); int h2 = img2.getHeight (); pokud ((w1!=w2)| / (h1!=h2)) {systém.mimo.println ("oba obrázky by měly mít stejné dimwnsions");} else { long diff = 0; pro (int j = 0; j < h1; j++) { pro (int i = 0; i < w1; i++) {//získání RGB hodnot pixelu int pixel1 = img1.getRGB (i, j); barva color1 = nová barva (pixel1, true); int r1 = color1.getRed (); int g1 = color1.getGreen (); int b1 = color1.getBlue (); int pixel2 = img2.getRGB (i, j); barva color2 = nová barva (pixel2, true); int r2 = color2.getRed (); int g2 = color2.getGreen (); int b2= color2.getBlue (); / / součet rozdílů hodnot RGB dvou obrazů dlouhá data = Matematika.abs (r1-r2)+Matematika.abs (g1-g2)+ Matematika.abs (b1-b2); diff = diff + data;}} double avg = diff/(w1 * h1 * 3); double procento = (avg/255) * 100; systém.mimo.println ("rozdíl:" + procento); } }}

Vstup1

Vstup2

výstup

Difference: 92.54901960784314
raja

Publikováno dne 09-Duben-2020 07:25:58

  • související otázky & odpovědi
  • jak sladit klíčové body dvou obrázků pomocí knihovny OpenCV Java?
  • jak míchat s obrázky pomocí OpenCV Java?
  • jak provádět bitové a operace na dvou obrázcích pomocí Java OpenCV?
  • jak provést bitovou operaci XOR na dvou obrázcích pomocí Java OpenCV?
  • jak provádět bitové nebo operace na dvou obrázcích pomocí Java OpenCV?
  • jak najít obrysy obrazu pomocí knihovny Java OpenCV?
  • jak převrátit obrázek pomocí knihovny Java OpenCV?
  • jak nakreslit obrysy obrazu pomocí knihovny Java OpenCV?
  • jak číst obrázek pomocí knihovny Java OpenCV?
  • Jak napsat obrázek pomocí knihovny Java OpenCV?
  • jak vytvořit zrcadlový obraz pomocí knihovny Java OpenCV?
  • jak provést bitovou Not operaci na obrázcích pomocí Java OpenCV?
  • jak převést obraz RGB na HSV pomocí knihovny Java OpenCV?
  • jak převést HSV na barevný obrázek pomocí knihovny Java OpenCV?
  • jak převést obraz HSV na BGR pomocí knihovny Java OpenCV?
inzeráty

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.