この記事の例は、Javaの2つの写真を比較する方法を示しています。あなたの参照のために全員のためにそれを共有してください。詳細は次のとおりです。
まとめ:
importjava.awt.image.bufferedimage;
importjava.io.file;
importjavax.imageio.imageio;
/*** 2つの写真の類似性を比較*@著者Guihu **/publicClassbmploader {//バイナリコードに変更します
publicString [] [] [] getPx(stringargs){int [] rgb = newint [3];
filefile = newFile(args);
bufferedimagebi = null;
試す
メインコードは次のとおりです。
Import Java.awt.image.buffredimage;コードpublic static string [] [] getpx(int [] rgb = new file = new file(args); ;} catch e.printstacktrace();} bi.getWidth() ] list = new String [width] [height]; ); rgb [0] =(0xff0000)>> 16; ] [i] [i] [i] [i] [i] [i] [i] [i] j] = rgb [0] + "、" + rgb [1] + "、" + rgb [2] ;} return list;} public static void compareimage(string imgpath1、string imgpath2){{] {{imgpath1、imgpath2}; bmploader imagefile.bmp "); system.exit(0);} //画像の類似性を分析するs s s s tring [] [] [] [] list1 = getpx(images [0]); string [] [] [] list2 = getpx(images [1] )int xiangsi = 0; = list1.length){contion;} for(int m = 0; m <strings.length; m ++){try {string [] value1 = list1 [i] [j] .tring( "、 "、")value2 = list2 [j]。 ; n ++){if(math.abs(integer.parseint(value1 [k])-edeger.parseint(value2 [k])<5){xiangsi ++;} catch(} catch) runtimeexception {contion;} j ++;} list1 = getpx(画像[1]); = list1.length){contion;} for(int m = 0; m <strings.length; m ++){try {string [] value1 = list1 [i] [j] .tring( "、 "、")value2 [i] .tring( "、"); <<<<< value2; length; n ++){if(math.abs(value1 [k])-cleger.parseint(value2 [k])<5){xiangsi ++;} {busi ++;}}} catch(runtimeexception e){続行;} j ++;} string baifen = "" ""; / double.parsed Allowance((busi + xiangsi) + "" "" ") +" "); ;} catch(例外e){baifen = "0";} if(baifen。length()<= 0){baifen = "0";} if(busi == 0){baifen = "100";} system .out.println( "同様のピクセル数量: + xiangsi +": " + busi +"類似性: " + integer.parseint(baifen) +"% ");} public static void main(string [] args){bmploader。 CompartImage( "e://12.bmp"、 "e://1.bmp");}}この記事がすべての人のJavaプログラムのデザインに役立つことが期待されています。