január 31, 2022
Hogyan lehet összehasonlítani két képet a Java OpenCV könyvtár használatával?
két kép összehasonlítása−
-
olvassa el mindkettőt az Image.IO.read() módszerrel.
-
szerezze be mindkettő magasságát és szélességét, hogy megbizonyosodjon arról, hogy egyenlőek-e.
-
szerezze be a képpontok értékeit, és szerezze be mindkét kép RGB értékeit.
-
Szerezd meg a két kép RGB értékei közötti különbségek összegét.
-
Számítsa ki a különbség százalékát a következő képlet segítségével−
Average = difference/weight*height*3;Percentage = (Average/255)*100;
példa
java importálása.ááá.Szín; Java importálása.ááá.kép.BufferedImage; import javax.imageio.ImageIO; import java. io. File; nyilvános osztály összehasonlító képek { nyilvános statikus void main (String args) kivételt dob { BufferedImage img1 = ImageIO.read (új fájl ("D:\\Images\\test1.jpg")); BufferedImage img2 = ImageIO.read (új fájl ("D:\\Images\\test2.jpg")); int w1 = img1.getWidth (); int w2 = img2.getWidth (); int h1 = img1.getHeight (); int h2 = img2.getHeight (); ha ((w1!= w2) / / (h1!= h2)) { rendszer.kifelé.println ("mindkét képnek azonos dimwnsionnak kell lennie");} else { long diff = 0; for (int j = 0; j < h1; j++) {for (int i = 0; i < w1; i++) {//egy pixel RGB értékeinek megszerzése int pixel1 = img1.getRGB (én, j); szín szín1 = új szín(pixel1, igaz); int r1 = szín1.getRed (); int g1 = szín1.getGreen (); int b1 = szín1.getBlue (); int pixel2 = img2.getRGB (én, j); szín color2 = új szín(pixel2, igaz); int r2 = color2.getRed (); int g2 = szín2.getGreen (); int b2= szín2.getBlue (); //a két kép RGB értékeinek különbségeinek összege long data = Math.abs (r1-r2) + matematika.abs (g1-g2) + matematika.abs (b1-b2); diff = diff+adatok;}} dupla avg = diff/(w1*h1*3); dupla százalék = (átlag/255)*100; rendszer.kifelé.println ("különbség:" +százalék); } }}
Bemenet1
Bemenet2
kimenet
Difference: 92.54901960784314
megjelent 09-április-2020 07:25:58
- kapcsolódó kérdések & válaszok
- hogyan lehet egyeztetni két kép legfontosabb pontjait az OpenCV Java könyvtár használatával?
- hogyan keverjük össze a képeket az OpenCV Java használatával?
- hogyan lehet bitenként végrehajtani és működtetni két képet a Java OpenCV használatával?
- hogyan lehet bitenként XOR műveletet végrehajtani két képen a Java OpenCV használatával?
- hogyan lehet bitenként vagy műveletként végrehajtani két képet a Java OpenCV használatával?
- hogyan lehet megtalálni a kép kontúrjait a Java OpenCV könyvtár használatával?
- hogyan flip egy képet Java OpenCV könyvtár?
- Hogyan rajzoljunk Képkontúrokat a Java OpenCV könyvtár segítségével?
- hogyan lehet képet olvasni a Java OpenCV könyvtár használatával?
- hogyan lehet képet írni a Java OpenCV könyvtár használatával?
- Hogyan hozzunk létre egy tükörkép segítségével Java OpenCV könyvtár?
- hogyan hajthatunk végre bitenként nem műveletet a képeken a Java OpenCV használatával?
- hogyan lehet átalakítani az RGB képet HSV-re a Java OpenCV könyvtár használatával?
- hogyan lehet átalakítani a HSV-t színes képpé a Java OpenCV könyvtár használatával?
- hogyan lehet átalakítani a HSV-t BGR-képpé a Java OpenCV könyvtár használatával?
reklámok