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

java處理圖片背景顏色的方法

 更新時間:2018年04月25日 14:48:28   作者:j夫子  
這篇文章主要為大家詳細(xì)介紹了java處理圖片背景顏色的方法,藍(lán)底寸照批量轉(zhuǎn)換為白底,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天老師想讓我?guī)兔Π阉齻?00多張寸照換成白底的,這些寸照里面多為藍(lán)色底,紅色底。

用ps?不!用java??!

對,我第一反應(yīng)就是用java,到網(wǎng)上找到了一個獲得圖片像素的源碼。動手改了下,就編出來了,200多張照片的處理就用了半分鐘。

/** 
 * 功能: 
 * 將藍(lán)底寸照批量轉(zhuǎn)換為白底 
 * 主要是可以幾百張,幾千張地處理 
 * @author 趙俊夫 
 * 
 */ 
public class ImageColorDemo { 
  
 public static void main(String args[]) throws IOException { 
  /** 
   * 要處理的圖片目錄 
   */ 
  File dir = new File("d:/d4"); 
  /** 
   * 列出目錄中的圖片,得到數(shù)組 
   */ 
  File[] files = dir.listFiles(); 
  /** 
   * 遍歷數(shù)組 
   */ 
  for(int x=0;x<files.length;x++){ 
   /** 
    * 定義一個RGB的數(shù)組,因為圖片的RGB模式是由三個 0-255來表示的 比如白色就是(255,255,255) 
    */ 
   int[] rgb = new int[3]; 
   /** 
    * 用來處理圖片的緩沖流 
    */ 
   BufferedImage bi = null; 
   try { 
    /** 
     * 用ImageIO將圖片讀入到緩沖中 
     */ 
    bi = ImageIO.read(files[x]); 
   } catch (Exception e) { 
    e.printStackTrace(); 
   } 
   /** 
    * 得到圖片的長寬 
    */ 
   int width = bi.getWidth(); 
   int height = bi.getHeight(); 
   int minx = bi.getMinX(); 
   int miny = bi.getMinY(); 
   System.out.println("正在處理:"+files[x].getName()); 
   /** 
    * 這里是遍歷圖片的像素,因為要處理圖片的背色,所以要把指定像素上的顏色換成目標(biāo)顏色 
    * 這里 是一個二層循環(huán),遍歷長和寬上的每個像素 
    */ 
   for (int i = minx; i < width; i++) { 
    for (int j = miny; j < height; j++) { 
     // System.out.print(bi.getRGB(jw, ih)); 
     /** 
      * 得到指定像素(i,j)上的RGB值, 
      */ 
     int pixel = bi.getRGB(i, j); 
     /** 
      * 分別進(jìn)行位操作得到 r g b上的值 
      */ 
     rgb[0] = (pixel & 0xff0000) >> 16; 
     rgb[1] = (pixel & 0xff00) >> 8; 
     rgb[2] = (pixel & 0xff); 
     /** 
      * 進(jìn)行換色操作,我這里是要把藍(lán)底換成白底,那么就判斷圖片中rgb值是否在藍(lán)色范圍的像素 
      */ 
     if(rgb[0]<155&&rgb[0]>0 && rgb[1]<256&&rgb[1]>105 && rgb[2]<256&&rgb[2]>105 ){ 
      /** 
       * 這里是判斷通過,則把該像素?fù)Q成白色 
       */ 
      bi.setRGB(i, j, 0xffffff); 
     } 
      
    } 
   } 
   System.out.println("\t處理完畢:"+files[x].getName()); 
   System.out.println(); 
   /** 
    * 將緩沖對象保存到新文件中 
    */ 
   FileOutputStream ops = new FileOutputStream(new File("d:/d5/"+x+".jpg")); 
   ImageIO.write(bi,"jpg", ops); 
   ops.flush(); 
   ops.close(); 
   } 
 } 
 
} 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中線程休眠編程實例

    Java中線程休眠編程實例

    這篇文章主要介紹了Java中線程休眠編程實例,本文直接給出代碼實例,并對休眠方法做了一番講解,需要的朋友可以參考下
    2015-06-06
  • SpringMVC文件上傳請求問題分析

    SpringMVC文件上傳請求問題分析

    這篇文章主要介紹了SpringMVC文件上傳請求,我們發(fā)的請求默認(rèn)都是由DispatcherServlet類的doDispatch()來處理,這個方法的邏輯處理的第一步就是處理文件上傳的請求,我們一起來看看是怎么處理的吧
    2024-07-07
  • Spring中屬性注入詳解

    Spring中屬性注入詳解

    這篇文章主要為大家詳細(xì)介紹了Spring中屬性注入,演示了int、String、數(shù)組、list等屬性的注入,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 解決Spring使用@MapperScan問題

    解決Spring使用@MapperScan問題

    這篇文章主要介紹了解決Spring使用@MapperScan問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 關(guān)于Springboot2.x集成lettuce連接redis集群報超時異常Command timed out after 6 second(s)

    關(guān)于Springboot2.x集成lettuce連接redis集群報超時異常Command timed out afte

    這篇文章主要介紹了Springboot2.x集成lettuce連接redis集群報超時異常Command timed out after 6 second(s),本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-03-03
  • SpringBoot整合Redis實現(xiàn)token緩存

    SpringBoot整合Redis實現(xiàn)token緩存

    于token通常會被多次使用,我們需要把它保存到緩存中,以減少頻繁地訪問數(shù)據(jù)庫,本文主要介紹了SpringBoot整合Redis實現(xiàn)token緩存,感興趣的可以了解一下
    2024-02-02
  • Springboot項目啟動成功后可通過五種方式繼續(xù)執(zhí)行

    Springboot項目啟動成功后可通過五種方式繼續(xù)執(zhí)行

    本文主要介紹了Springboot項目啟動成功后可通過五種方式繼續(xù)執(zhí)行,主要包括CommandLineRunner接口,ApplicationRunner接口,ApplicationListener接口,@PostConstruct注解,InitalizingBean接口,感興趣的可以了解一下
    2023-12-12
  • 帶你快速搞定java并發(fā)庫

    帶你快速搞定java并發(fā)庫

    本文主要介紹了java高并發(fā)寫入用戶信息到數(shù)據(jù)庫的幾種方法,具有很好的參考價值。下面跟著小編一起來看下吧,希望能給你帶來幫助
    2021-07-07
  • Value注解支持對象類型ConfigurationProperties功能

    Value注解支持對象類型ConfigurationProperties功能

    這篇文章主要為大家介紹了Value注解支持對象類型ConfigurationProperties功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • mybatis-plus讀取JSON類型的方法實現(xiàn)

    mybatis-plus讀取JSON類型的方法實現(xiàn)

    這篇文章主要介紹了mybatis-plus讀取JSON類型的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

普陀区| 清新县| 武夷山市| 彰化市| 航空| 延津县| 含山县| 莱西市| 敦化市| 裕民县| 绥芬河市| 陇南市| 连南| 衡阳市| 万安县| 大英县| 华阴市| 满城县| 德惠市| 黄骅市| 平阳县| 墨竹工卡县| 仁化县| 增城市| 东乡县| 阜平县| 元阳县| 武川县| 新竹县| 双牌县| 安泽县| 三原县| 博客| 台湾省| 赤水市| 册亨县| 邵阳市| 宝应县| 松滋市| 绿春县| 常州市|