这个是网上一个大牛想到的方法,独特的见解,适用于给证件照换背景,即颜色RGB值在一个范围内的图像处理,稍加修改,可以适用于一切需要更换背景的情况,可以利用NetBeans设计一个UI,然后写成一个小程序,将PS里的抠图取代。

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileDescriptor;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import javax.imageio.ImageIO;

public class ImageDemoBackGround {

public static void main(String[] args) throws Exception{

// TODO Auto-generated method stub

/*

* 待处理的图片

* */

File dir = new File("/Volumes/Function/G/test3/");

/*

* 列出目录中的图片,得到数组

* */

File[] files = dir.listFiles();

/*

* 遍历数组

* */

for (int x = 0; x < files.length; x++) {

/*

* 定义一个数组,存放RGB值

* */

int[] rgb = new int[3];

/*

* byte转换BuffereImage

* */

BufferedImage bImage = null;

bImage = ImageIO.read(files[x]);

int width = bImage.getWidth();

int height = bImage.getHeight();

int minx = bImage.getMinTileX();

int miny = bImage.getMinTileY();

System.out.println("正在处理..."+files[x].getName());

/*

* 遍历像素点,判断是否更换颜色

* */

for (int i = minx; i < width; i++) {

for (int j = miny; j < height; j++) {

/*

* 换色

* */

int pixel = bImage.getRGB(i, j);

rgb[0] = (pixel & 0xff0000) >>16;

rgb[1] = (pixel & 0xff00) >>8;

rgb[2] = (pixel & 0xff) ;

if (rgb[0]<230&&rgb[0]>100&& rgb[1]<230&&rgb[1]>100 && rgb[2]<230&&rgb[2]>100) {

bImage.setRGB(i, j, 0xffffff);

}

}

}

System.out.println("\t处理完毕:"+files[x].getName());

System.out.println();

/*

* 输出

* */

FileOutputStream ops;

try {

ops = new FileOutputStream(new File("/Volumes/Function/G/test4/"+x+".jpg"));

ImageIO.write(bImage, "jpg", ops);

ops.flush();

ops.close();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

摘自:http://zjfhw.iteye.com/blog/1497288

java程序一图片为背景_利用Java处理图片,更换背景相关推荐

  1. 2个JAVA程序能放在一起吗_求JAVA大神把2程序功能组合在一起

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 以下程序为 图片旋转功能 import java.awt.*; import java.awt.event.*; import java.awt.imag ...

  2. java程序编译成exe文件_将java程序编译成独立运行的exe文件

    将java程序编译成独立运行的exe文件 众所周知java的程序可以"一次编译,到处运行",这个特性不错,但是实现这个特性的前提是当前的平台 必须有相应的jvm,而且如果当前平台的 ...

  3. java 根据ip获取mac地址_利用java如何根据IP获取mac地址

    利用java如何根据IP获取mac地址 发布时间:2020-11-25 15:49:42 来源:亿速云 阅读:74 作者:Leah 利用java如何根据IP获取mac地址?针对这个问题,这篇文章详细介 ...

  4. java程序中用户名和密码_在Java应用程序中使用密码术

    java程序中用户名和密码 这篇文章描述了如何使用Java密码体系结构 (JCA),该体系结构使您可以在应用程序中使用密码服务. Java密码体系结构服务 JCA提供了许多加密服务,例如消息摘要和签名 ...

  5. Java程序如何写判断闰年_用Java程序判断是否是闰年的简单实例

    我们知道,(1)如果是整百的年份,能被400整除的,是闰年:(2)如果不是整百的年份,能被4整除的,也是闰年.每400年,有97个闰年.鉴于此,程序可以作以下设计: 第一步,判断年份是否被400整除, ...

  6. java程序员比c多_为什么JAVA会比C语言使用的多?

    Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++.C#支持面向对象. 另外一个不同是,Jav ...

  7. java 两日期的周数_利用 Java 中 Calendar 计算两个日期之间的天数和周数

    利用 Java 中 Calendar 计算两个日期之间的天数和周数 前言 究竟什么是一个 Calendar 呢? 中文的翻译就是日历, 那我们立刻可以想到我们生活中有阳 (公) 历阴 (农) 历之分它 ...

  8. java程序如何做调查问卷_《Java程序设计》课程准备之问卷调查

    一.你对自己的未来有什么规划?做了哪些准备? 答:未来就是找个好工作,在保证自己与父母生活条件良好的基础上,进一步的提高精神上的需求.如:旅游度假,支持更多业余爱好等.准备就是:好好学习,好好运动,好 ...

  9. java 读取excel 合并单元格_利用java读写Excel文件、合并单元格

    一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...

  10. Java怎么定义图片公共路径_【Java】springboot配置图片访问路径

    springboot如何配置,就可以在地址栏输入http://localhost:9090/17AD93E86EB44287BA0D871A37017597.jpg就可以访问到图片 回答 需要添加下S ...

最新文章

  1. [T-ARA][HUE]
  2. 虚拟主机跟php,php虚拟主机和服务器(云服务器跟虚拟主机)
  3. 【OpenCV3】cv::divide()使用详解
  4. Xcode添加摄像机访问权限转
  5. 【DP】回文词 (ssl 1813)
  6. Java 8 Friday Goodies:新的新I / O API
  7. 这位教授2 年一篇 Science,再获教科书级的重大发现
  8. php的ftp怎么代理访问,利用PHP登陆FTP实现服务器资源同步 | Lancer's Blog
  9. Asp.net页面之间传“大量的参数”
  10. 查看别人IP经典办法
  11. linux搭建智能dns步骤,PDNS实现智能DNS配置步骤linux操作系统 -电脑资料
  12. Typhon升级到5.8,编译原来程序出现提示:Compilation raised exception internally
  13. Lateral View Outer
  14. 2020年三月计算机二级甘肃报名官网,2020年3月甘肃计算机二级考试报名时间
  15. nodejs+puppeteer+chromium爬取异步数据页面(英雄联盟英雄资料列表页+详情页)
  16. oracle11gr2安装hard limit错误
  17. 软件测试工作内容太简单怎么办?
  18. UtoVR Player免费360VR视频播放器
  19. EDB 服务器空间满,问题追查:
  20. Western Blot

热门文章

  1. Keil编译*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
  2. python oserror怎么解决_python – OSError:目录不是空的,如何修复?
  3. 留学Essay写作应当注意哪些问题?
  4. 国内的地图服务全面收费了
  5. keras入门 ---在小数据集上训练神经网络
  6. 鸿蒙系统吓坏谷歌,华为被谷歌正式“除名”,鸿蒙系统将正式登场绝地反击!...
  7. 微信JS-SDK说明文档
  8. codeforces——962
  9. 名侦探柯南主线剧情整理
  10. 排列组合cn和an公式