最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 照片對(duì)比功能的實(shí)現(xiàn)

 更新時(shí)間:2020年12月02日 17:21:59   作者:觀心靜  
這篇文章主要介紹了Java 照片比對(duì)功能實(shí)現(xiàn)類(lèi)的示例代碼,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
package com.function;

import java.awt.image.BufferedImage;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
import javax.imageio.ImageIO;

/*
 * 這個(gè)是一個(gè)照片比對(duì)功能實(shí)現(xiàn)類(lèi)
 */
public class Tools_PhotoMatching {
 public int mactching(String contrast_photo ,String test_photo) {
  int contras_rgb[] = new int[3];
  int test_rgb[] = new int[3];
  int k = 0;
  File contrastfile = new File(contrast_photo); //對(duì)比照片路徑
  File testfile = new File(test_photo); //測(cè)試照片路徑
  BufferedImage contrasphoto = null;
  BufferedImage testphoto = null;
  try {
   contrasphoto = ImageIO.read(contrastfile);
   testphoto = ImageIO.read(testfile);
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  int contraswidth = contrasphoto.getWidth();
  int contrasheight = contrasphoto.getHeight();  
  int testwidth = testphoto.getWidth();
  int testheight = testphoto.getHeight(); 
  //File file = new File("C:\\Users\\prize\\Desktop\\TOOLS\\DCIM\\Camera\\log.txt");
  //File file1 = new File("C:\\Users\\prize\\Desktop\\TOOLS\\DCIM\\Camera\\log1.txt");
  try {
   //FileWriter fileWriter = new FileWriter(file);
   //FileWriter fileWriter1 = new FileWriter(file1);
   //BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
   //BufferedWriter bufferedWriter2 = new BufferedWriter(fileWriter1);  
  for (int i = 0; i < testwidth; i++) {
   for (int j = 0; j < testheight; j++) {    
    //StringBuffer astringBuffer1 = new StringBuffer();
    //StringBuffer bstringBuffer1 = new StringBuffer();    
    int pixel1 = contrasphoto.getRGB(i, j);
    int pixle2= testphoto.getRGB(i, j);
    contras_rgb[0] = (pixel1 & 0xff0000) >> 16; //將值轉(zhuǎn)化成16進(jìn)制
    contras_rgb[1] = (pixel1 & 0xff00) >> 8; 
    contras_rgb[2] = (pixel1 & 0xff);    
    //astringBuffer1.append(i+"行"+j+"列 R="+contras_rgb[0]+"G="+contras_rgb[1]+"B="+contras_rgb[2] );
    //bufferedWriter.write(astringBuffer1.toString());
    //bufferedWriter.newLine();       
    test_rgb[0] = (pixle2 & 0xff0000) >> 16; 
    test_rgb[1] = (pixle2 & 0xff00) >> 8; 
    test_rgb[2] = (pixle2 & 0xff);
    //bstringBuffer1.append(i+"行"+j+"列 R="+test_rgb[0]+"G="+test_rgb[1]+"B="+test_rgb[2]);    
    //bufferedWriter2.write(bstringBuffer1.toString());
    //bufferedWriter2.newLine();    
    int Difference_R = Math.abs(contras_rgb[0]-test_rgb[0]); //相減并且求絕對(duì)值
    int Difference_G= Math.abs(contras_rgb[1]-test_rgb[1]);
    int Difference_B= Math.abs(contras_rgb[2]-test_rgb[2]);
    //System.out.println("第"+j+"次:"+Math.abs(Difference));    
    final int R = 35; //35
    final int L = 130;
    int Q = Difference_R+Difference_G+Difference_B;
    if (Difference_R > R && Difference_G > R && Q>L) { //判斷每個(gè)值的浮動(dòng)不超過(guò)35   
     k++;
    }else if (Difference_G >R && Difference_B>R && Q>L) {
     k++;   
    }else if (Difference_R > R && Difference_B>R && Q>L) {
     k++;
     
    }         
   }
   
  }
  //bufferedWriter.close();
  //bufferedWriter2.close();
  //fileWriter.close();
  //fileWriter1.close();
  
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }  
  return k;  
 }

}

以上就是Java 照片對(duì)比功能實(shí)現(xiàn)類(lèi)的詳細(xì)內(nèi)容,更多關(guān)于Java 照片對(duì)比的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解如何使用maven生成可以執(zhí)行的jar

    詳解如何使用maven生成可以執(zhí)行的jar

    這篇文章主要介紹了詳解如何使用maven生成可以執(zhí)行的jar,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 零基礎(chǔ)寫(xiě)Java知乎爬蟲(chóng)之獲取知乎編輯推薦內(nèi)容

    零基礎(chǔ)寫(xiě)Java知乎爬蟲(chóng)之獲取知乎編輯推薦內(nèi)容

    上篇文章我們拿百度首頁(yè)做了個(gè)小測(cè)試,今天我們來(lái)個(gè)復(fù)雜的,直接抓取知乎編輯推薦的內(nèi)容,小伙伴們可算松了口氣,終于進(jìn)入正題了,哈哈。
    2014-11-11
  • spring boot上傳文件出錯(cuò)問(wèn)題如何解決

    spring boot上傳文件出錯(cuò)問(wèn)題如何解決

    這篇文章主要介紹了spring boot上傳文件出錯(cuò)問(wèn)題如何解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • spring-boot react如何一步一步實(shí)現(xiàn)增刪改查

    spring-boot react如何一步一步實(shí)現(xiàn)增刪改查

    這篇文章主要介紹了spring-boot react如何一步一步實(shí)現(xiàn)增刪改查,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • JAVA工程中引用本地jar的3種常用簡(jiǎn)單方式

    JAVA工程中引用本地jar的3種常用簡(jiǎn)單方式

    Jar文件的全稱(chēng)是Java Archive File即Java歸檔文件,主要是對(duì)class文件進(jìn)行壓縮,是一種壓縮文件,和常見(jiàn)的zip壓縮文件兼容,下面這篇文章主要給大家介紹了關(guān)于JAVA工程中引用本地jar的3種常用簡(jiǎn)單方式,需要的朋友可以參考下
    2024-03-03
  • Spring中的ImportBeanDefinitionRegistrar接口詳解

    Spring中的ImportBeanDefinitionRegistrar接口詳解

    這篇文章主要介紹了Spring中的ImportBeanDefinitionRegistrar接口詳解,ImportBeanDefinitionRegistrar接口是也是spring的擴(kuò)展點(diǎn)之一,它可以支持我們自己寫(xiě)的代碼封裝成BeanDefinition對(duì)象,注冊(cè)到Spring容器中,功能類(lèi)似于注解@Service @Component,需要的朋友可以參考下
    2023-09-09
  • IDEA2020.3.2版本自動(dòng)注釋類(lèi)和方法注釋模板配置步驟詳解

    IDEA2020.3.2版本自動(dòng)注釋類(lèi)和方法注釋模板配置步驟詳解

    這篇文章主要介紹了IDEA2020.3.2版本自動(dòng)注釋類(lèi)和方法注釋模板配置步驟,本文給大家分享了我自己創(chuàng)建過(guò)程通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java中Map遍歷的九種方式匯總

    Java中Map遍歷的九種方式匯總

    這篇文章主要介紹了Java中九種?Map?的遍歷方式匯總的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • spring動(dòng)態(tài)注冊(cè)bean?AOP失效原理解析

    spring動(dòng)態(tài)注冊(cè)bean?AOP失效原理解析

    這篇文章主要為大家介紹了spring動(dòng)態(tài)注冊(cè)bean使AOP失效原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Mybatis中關(guān)于自定義mapper.xml時(shí),參數(shù)傳遞的方式及寫(xiě)法

    Mybatis中關(guān)于自定義mapper.xml時(shí),參數(shù)傳遞的方式及寫(xiě)法

    這篇文章主要介紹了Mybatis中關(guān)于自定義mapper.xml時(shí),參數(shù)傳遞的方式及寫(xiě)法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論

宁化县| 阳泉市| 和平县| 阿坝县| 长兴县| 铜鼓县| 红安县| 保靖县| 木兰县| 余干县| 松溪县| 上饶县| 昌黎县| 峨眉山市| 西和县| 中卫市| 诸城市| 乡宁县| 英德市| 浑源县| 嘉兴市| 巨鹿县| 颍上县| 宝兴县| 武穴市| 贡觉县| 新余市| 舒兰市| 沙坪坝区| 宜黄县| 宁乡县| 增城市| 衡水市| 屯留县| 兴和县| 崇文区| 桦川县| 长子县| 平凉市| 黔江区| 拜泉县|