O exemplo deste artigo diz a maneira de comparar duas fotos de Java. Compartilhe para todos para sua referência. Os detalhes são os seguintes:
resumo:
Importjava.awt.image.bufferiMage;
ImportJava.io.file;
ImportJavax.imageio.imageio;
/*** Compare a semelhança das duas imagens*@Authorguihu **/publicClassBMPLOADER {// Alterar para o código binário
publicsTring [] [] [] getpx (stratargs) {int [] rgb = newint [3];
Filefile = newfile (args);
BufferImageBi = nulo;
tentar
O código principal é o seguinte:
Importar java.awt.image.buffredimage; Código public static string [] [] getpx (string args) {int [] rgb = new int [3]; ; ] list = new string [largura] [altura]; ); ] [i] [i] [i] [i] [i] [i] [i] [i] j] = rgb [0] + "," + rgb [1] + "," + rgb [2] ;} Lista de retorno;} public static void CompareImage (string imgpath1, string imgpath2) {string [] imagens = {{imgpath1, imgpath2}; BMPLOADER ImageFile.bmp "); System.Exit (0);} // Analise a similaridade da imagem começa s Tring [] [] LIST1 = getpx (imagens [0]); String [] [] LIST2 = getpx (imagens [1] ); = list1.length) {continua;} para (int m = 0; m <strings.length; m ++) {try {string [] value1 = list1 [i] [j] .Tring (). ","); ; RuntimeException e) {continua;} j ++;} i ++;} list1 = getpx (imagens [1]); = list1.length) {continua;} para (int m = 0; m <strings.length; m ++) {try {string [] value1 = list1 [i] [j] .Tring (). ","); <<<<<< Value2.Length; {Busi ++;}}}} Catch (RunTimeException e) {continua;} j ++;} i ++;} string baifen = "" ""; / Double.parsed Subsídio (Busi + Xiangsi) + "" "" "") + ""); ;} Catch (Exceção e) {Baifen = "0";} if (Baifen. Length () <= 0) {Baifen = "0";} if (Busi == 0) {Baifen = "100";} sistema .out.println ("Quantidade de pixel semelhante: + xiangsi +": " + Busi +" similaridade: " + Integer.parseInt (baifen) +"%");} public static void main (string [] args) {bmPloader. CompareImage ("e: //12.bmp", "e: //1.bmp");}}Espera -se que este artigo seja útil para o design do programa Java de todos.