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