Das Beispiel dieses Artikels zeigt den Weg, um zwei Bilder von Java zu vergleichen. Teilen Sie es für alle für Ihre Referenz. Die Einzelheiten sind wie folgt:
Zusammenfassung:
Importjava.awt.image.BuffenedImage;
Importjava.io.file;
Importjavax.imageo.imageo;
/*** Vergleichen Sie die Ähnlichkeit der beiden Bilder*@AuthorGuihu **/publicClassBMploader {// Um binärer Code zu wechseln
publicString [] [] [] getPx (StringArgs) {int [] rgb = newInt [3];
FileFile = newfile (args);
BufferedImageBi = null;
versuchen
Der Hauptcode lautet wie folgt:
Import Java.awt.image.Buffredimage; Code public String [] [] getPx (String args) {int [] rgb = new int [3]; ; ] list = new String [Breite] [Höhe]; ); ] [i] [i] [i] [i] [i] [i] [i] [i] j] = rgb [0] + "," + rgb [1] + "," + rgb [2] } Returnlist;} public static void compareImage (String imgpath1, String imgpath2) {String [] Images = {{imgpath1, imgpath2}; BMploader ImageFile.bmp "); System.exit (0);} // Bildähnlichkeit analysieren, begin S -Tring [] [] list1 = getPx (Bilder [0]); String [] [] list2 = getPx (Bilder [1] ) int xiangsi = 0; = list1.length) {Fortsetzung;} für (int m = 0; ",") String [] value2 = list2 [i] [j] .Tring (). ; n ++) {if (math.abs (Integer.ParseInt (value1 [k]) -Edeger.ParseInt (value2 [k]) <5) {xiangsi ++;} else {busi ++;}} catch ( RunTimeException e) {Fortsetzung;} J ++;} i ++;} list1 = getPx (Bilder [1]); = list1.length) {Fortsetzung;} für (int m = 0; ",") String [] value2 = list2 [i] [j] .Tring (). <<<<<< value2.Length; oder / Double.Parsed -Zulage ((busi + xiangsi) + "" "" ") +" "); ;} Catch (Ausnahme e) {baifen = "0";} if (baifen. Length () <= 0) {baifen = "0";} if (busi == 0) {baifen = "100";} System .out.println ("Ähnliche Pixelmenge: + xiangsi +": " + busi +" Ähnlichkeit: " + Integer CompareImage ("e: //12.bmp", "e: //1.bmp");}}Es ist zu hoffen, dass dieser Artikel für Java -Programmdesign aller hilfreich ist.