ตัวอย่างของบทความนี้บอกวิธีเปรียบเทียบสองภาพของ Java แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ ข้อมูลเฉพาะมีดังนี้:
สรุป:
importjava.awt.image.bufferedimage;
importjava.io.file;
importJavax.imageio.imageio;
/*** เปรียบเทียบความคล้ายคลึงกันของสองรูปภาพ*@utherguihu **/publicclassbmploader {// เปลี่ยนเป็นรหัสไบนารี
PublicString [] [] [] getpx (StringArgs) {int [] rgb = newint [3];
fileFile = newFile (args);
bufferedImageBi = null;
พยายาม
รหัสหลักมีดังนี้:
นำเข้า java.awt.image.buffredimage; นำเข้า Java.io.file; รหัสสาธารณะคงที่ [] [] getpx (สตริง args) {int [] rgb = new int [3]; ; ] list = สตริงใหม่ [ความกว้าง] [ความสูง]; ); ] [i] [i] [i] [i] [i] [i] [i] [i] j] = rgb [0] + "," + rgb [1] + "," + rgb [2] ;} return list;} โมฆะคงที่ public compareImage (string imgpath1, string imgpath2) {string [] images = {{imgPath1, imgPath2}; bmploader imagefile.bmp "); system.exit (0);} // วิเคราะห์ภาพความคล้ายคลึงกันเริ่มต้น S tring [] [] list1 = getpx (ภาพ [0]); string [] [] list2 = getpx (ภาพ [1] ); int xiangsi = 0; = list1.length) {ดำเนินการต่อ;} สำหรับ (int m = 0; m <strings.length; m ++) {ลอง {string [] value1 = list1 [i] [j] .tring () ","); ; n ++) {ถ้า (math.abs (integer.parseint (value1 [k]) -edeger.parseint (value2 [k]) <5) {xiangsi ++; RuntimeException E) {ดำเนินการต่อ;} j ++;} i ++;} list1 = getpx (รูปภาพ [1]); = list1.length) {ดำเนินการต่อ;} สำหรับ (int m = 0; m <strings.length; m ++) {ลอง {string [] value1 = list1 [i] [j] .tring () "); <<<<<< ค่า 2.Length; {busi ++;}}}} catch (runtimeException e) {ดำเนินการต่อ;} j ++;} i ++;} สตริง baifen = "" ""; / double.parsed ค่าเผื่อ ((busi + xiangsi) + "" "" "")) + ""); ;} catch (exception e) {baifen = "0";} ถ้า (baifen. length () <= 0) {baifen = "0";} ถ้า (busi == 0) {baifen = "100";} ระบบ .out.println ("ปริมาณพิกเซลที่คล้ายกัน: + xiangsi +": " + busi +" ความคล้ายคลึงกัน: " + integer.parseint (baifen) +"%");} โมฆะสาธารณะคงที่หลัก (สตริง [] args) {bmploader CompareImage ("E: //12.bmp", "E: //1.bmp");}}หวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน