java图像增强_java图片对比度调整示例代码
前言
本文主要给大家介绍了关于java图片对比度调整的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
方法如下
测试代码
public static void main(String[] args) {
//文件与BufferedImage间的转换
BufferedImage bi=file2img("test.jpg"); //读取图片
BufferedImage bii=img_color_contrast(bi,100);
img2file(bii,"jpg","test1.jpg"); //生成图片
}
图片对比度调整代码
//图片对比度调整
public static BufferedImage img_color_contrast(BufferedImage imgsrc, int contrast) {
try {
int contrast_average = 128;
//创建一个不带透明度的图片
BufferedImage back=new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(),BufferedImage.TYPE_INT_RGB);
int width = imgsrc.getWidth();
int height = imgsrc.getHeight();
int pix;
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
int pixel = imgsrc.getRGB(j, i);
Color color = new Color(pixel);
if (color.getRed() < contrast_average)
{
pix = color.getRed()- Math.abs(contrast);
if (pix < 0) pix = 0;
}
else
{
pix = color.getRed() + Math.abs(contrast);
if (pix > 255) pix = 255;
}
int red= pix;
if (color.getGreen() < contrast_average)
{
pix = color.getGreen()- Math.abs(contrast);
if (pix < 0) pix = 0;
}
else
{
pix = color.getGreen() + Math.abs(contrast);
if (pix > 255) pix = 255;
}
int green= pix;
if (color.getBlue() < contrast_average)
{
pix = color.getBlue()- Math.abs(contrast);
if (pix < 0) pix = 0;
}
else
{
pix = color.getBlue() + Math.abs(contrast);
if (pix > 255) pix = 255;
}
int blue= pix;
color = new Color(red,green,blue);
int x=color.getRGB();
back.setRGB(j,i,x);
}
}
return back;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
图片读取,和存储函数
//读取图片
public static BufferedImage file2img(String imgpath) {
try {
BufferedImage bufferedImage=ImageIO.read(new File(imgpath));
return bufferedImage;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//保存图片,extent为格式,"jpg"、"png"等
public static void img2file(BufferedImage img,String extent,String newfile) {
try {
ImageIO.write(img, extent, new File(newfile));
} catch (Exception e) {
e.printStackTrace();
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
java图像增强_java图片对比度调整示例代码相关推荐
- java实现图像对比度增强_java图片对比度调整示例代码
java图片对比度调整示例代码 发布于 2020-12-31| 复制链接 摘记: 前言本文主要给大家介绍了关于java图片对比度调整的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍 ...
- java图片对比度调整
全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现图片对比度调整 测试代码 public static void main(String[] args) {//文件与BufferedI ...
- JAVA中医舌诊接口使用示例代码,JAVA舌象图特征人工智能识别代码,JAVA实现舌象特征检测与识别
中医舌诊接口使用示例-Java示例项目 中医舌诊健康状态检测API 1.此文档适用于集成中国中医舌诊开放平台功能的用户. 2.此文档说明了与中国中医舌诊开放平台的数据交互方法(restful接口),按 ...
- uniapp中上传图片(拍摄)和预览图片(图例和示例代码)
uniapp中上传图片和预览图片 图例: 示例代码: 内容 uni.chooseImage上传图片 uni.previewImage预览图片 复习下uniapp的上传图片和预览图片 需求:可以拍摄和上 ...
- java实现上传图片代码_Java图片上传实现代码
本文实例为大家分享了java图片上传代码,供大家参考,具体内容如下 import java.io.*; import java.net.*; /* *发送端 */ class picsend { pu ...
- udp服务器php代码例子,Java客户端PHP服务器UDP穿孔示例代码
我正在一个需要pe2p服务器的项目中工作,但是我还没有找到任何Java客户端php服务器示例代码.我了解udp打孔工作原理的概念,但是我无法在代码中工作. 我尝试过的 TheSocket.java p ...
- java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)
首先看一下官方文档 地址:微信小程序官方文档API登录接口 我们先对官方给的时序图进行简单的分析 1.当小程序调用wx.login()时,会获得一个code(临时登录凭证),然后我们需要用wx.req ...
- java来电_JAVA来电显示接口调用代码实例
代码描述:基于JAVA的来电显示接口调用代码实例 关联数据:手机固话来电显示 接口地址:http://www.juhe.cn/docs/api/id/72 import java.io.Buffere ...
- java找出违法车牌号代码_基于Java的全国交通违章查询示例代码-六派数据
示例代码 本代码示例是基于Java的六派数据接口进行数据请求API服务请求的代码示例,使用前你需要: 以下是完整代码示例: /** * 主函数 * @param args */ public stat ...
最新文章
- 深圳人均GDP过一万美元随想
- Dataset:数据生成之利用pandas自定义生成随机各自类型(离散型和连续型)的dataframe数据
- java实现接收字符串对象并在后台代码中转成list对象
- SAP CRM系统里Opportunity预期销售金额和货币相关的自动转换
- 买房贷款时为什么银行让客户选等额本息,这是不是个坑?
- 了解 Vue SSR 这一篇足以
- CMake file文件操作命令
- php多维求组按照健值排序,PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】...
- 离散卷积与自相关----------信号处理系列[原创]
- pytorch学习率衰减
- 不带符号的阵列乘法器_与非门-8:阵列乘法器,门的千军万马
- MySQL解压缩版配置安装详解【图解】
- MS SQL 2008数据库完全卸载指南
- Task5:第五回:样式色彩秀芳华
- 解决安装Visio2016 和office 2016不能兼容问题
- php如何实现快速压缩视频,如何把大视频压缩小 怎么将视频压缩到最小方便储存...
- xp设置系统时间同步服务器,xp设置时间同步服务器
- 太牛了,国人纯手工自制CPU,耗时半年,用了3000多个晶体管
- Python应用之植物大战僵尸2-功夫世界BOSS关卡无限刷金币
- Spring Bean 生命周期之“我从哪里来”?懂得这个很重要
热门文章
- api分层内部外部 spring_java - Spring boot restful API分层架构验证 - SO中文参考 - www.soinside.com...
- python保存创建文件报错 with open(fileName,‘w‘) as fp: IOError: [Errno 22] invalid mode (‘w‘) or filename
- Python中的高效的集合操作
- python基础教程:类和对象
- 干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?
- nginx,tomcat,apache三者分别用来做什么,有何区别
- java hashset 源码_Java集合源码分析-HashSet和LinkedHashSet
- 计算机科学AP考试,AP计算机科学A和计算机原理有什么区别
- 【放置奇兵】tips(神圣伤害)
- Train Wreck 模拟-建树-优先队列