java 图片转灰度_java 图片灰度化
/**
* ━━━━━━神兽出没━━━━━━
* ┏┓ ┏┓
* ┏┛┻━━━┛┻┓
* ┃ ┃
* ┃ ━ ┃
* ┃ ┳┛ ┗┳ ┃
* ┃ ┃
* ┃ ┻ ┃
* ┃ ┃
* ┗━┓ ┏━┛Code is far away from bug with the animal protecting
* ┃ ┃ 神兽保佑,代码无bug
* ┃ ┃
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛
*
* ━━━━━━感觉萌萌哒━━━━━━
*/
package gt.controller.Images;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* 类名称:ImageDemo2.java
* 类描述:
* 作 者:why
* 时 间:2017年3月17日
*/
public class ImageDemo2 {
/**
* 加权法灰度化(效果较好)
* 图片灰化(参考:http://www.codeceo.com/article/java-image-gray.html)
*
* @param bufferedImage 待处理图片
* @return
* @throws Exception
*/
public static BufferedImage grayImage(BufferedImage bufferedImage) throws Exception {
int width = bufferedImage.getWidth();
int height = bufferedImage.getHeight();
BufferedImage grayBufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
// 计算灰度值
final int color = bufferedImage.getRGB(x, y);
final int r = (color >> 16) & 0xff;
final int g = (color >> 8) & 0xff;
final int b = color & 0xff;
int gray = (int) (0.3 * r + 0.59 * g + 0.11 * b);
//int gray = (int) (0.21 * r + 0.71 * g + 0.07 * b);
int newPixel = colorToRGB(255, gray, gray, gray);
grayBufferedImage.setRGB(x, y, newPixel);
}
}
return grayBufferedImage;
}
/**
* 颜色分量转换为RGB值
*
* @param alpha
* @param red
* @param green
* @param blue
* @return
*/
private static int colorToRGB(int alpha, int red, int green, int blue) {
int newPixel = 0;
newPixel += alpha;
newPixel = newPixel << 8;
newPixel += red;
newPixel = newPixel << 8;
newPixel += green;
newPixel = newPixel << 8;
newPixel += blue;
return newPixel;
}
public static void main(String[] args) throws Exception {
File file = new File("D:\\ocrpic\\sjh.png");
BufferedImage image = ImageIO.read(file);
File newFile = new File("D:\\ocrpic\\sjh1.png");
ImageIO.write(grayImage(image), "png", newFile);
}
}
处理前:
处理后:
java 图片转灰度_java 图片灰度化相关推荐
- java实现上传图片代码_Java图片上传实现代码
本文实例为大家分享了java图片上传代码,供大家参考,具体内容如下 import java.io.*; import java.net.*; /* *发送端 */ class picsend { pu ...
- 用java怎么开发图片标注工具_java 图片处理工具 测试
使用google 开源工具 对图片进行 压缩 处理 , 这里只测试一下压缩功能 : @RequestMapping(value = "/image/dealImage", meth ...
- java ajax上传图片插件_java图片上传并预览,前台用jQuery插件AjaxFileUpload,后台用FileUtils.copyFile....
个人笔记,以备后用. 表体代码: 查看图片 js代码(记得要引入jquery库和ajaxfileupload库): //上传文件id号 function fileUpload(uploadFileId ...
- java图片压缩质量_java图片高质量压缩
/** * 根据宽高编辑图片 * * @param outPath * 输出文件路径 * @param width * 输出文件宽 * @param hei ...
- java 图片互转_JAVA 图片格式转换 jpg、jpeg、png格式互转
最近项目遇到一些图片格式的问题,于是就写下这边博客,帮助记忆,代码如下: public static void main(String[] args) { //原文件路径 String src = & ...
- java图片镜像代码_java图片基本操作-缩放,旋转,镜像,拼接
/*** 缩放*/ public static void zoomByScale(BufferedImage bufImage, double scale) throwsIOException {// ...
- java如何处理灰度图片_Java图片的灰度处理方法
通过看网上各种大牛的总结,和自己亲身测试总结一下Java图片的灰度处理方法 (1)我们熟知的图片中的像素点有RGB值. (2)图片灰度化的方式大概分为四种,第一种是最大值法(取颜色RGB中的最大值作为 ...
- java 实现ps功能_java 简单图片,可以实现ps的几个小滤镜
java 简单图片,可以实现ps的几个小滤镜 以下教你实现图片马赛克,黑白画,珠纹化,油画效果等处理技术原理及实现.看完自己也可以简单的玩一玩. 1. 需要用到的包 java.awt // 用于创建用 ...
- Java 简单图片 马赛克,黑白画,珠纹化,油画效果等处理技术 原理及实现 (简单UI)
Java 图片马赛克,黑白画,珠纹化,油画效果等处理技术 原理及实现 1. 需要用到的包 java.awt // 用于创建用户界面和绘制图形图像的所有类 javax.swing // 提供一组&quo ...
最新文章
- 用邮箱实现多事件的单向同步
- SpringMVC学习10之AJAX初体验和了解
- 代码精进之路--思维导图
- 手rm-linux联网后自动dhcp,Linux操作系统下DHCP简单设置
- 程序员的职业规划_大学毕业进入职场,程序员如何进行合理的互联网职业规划?...
- VS2017安装方法
- cad卸载_CAD卸载不干净,如何清理CAD注册表
- Google Earth Engine(GEE)——点、线、面和省级行政区的加载和展示,以及矢量的过滤筛选
- 简单的Java小游戏 -- 数字连连消
- 你的贷款今天逾期了吗?
- JetBrain代码补全
- 解读大学里的软件工程专业以及其他专业,给高考完的学弟妹一点参考
- php imap 安装_PHP安装IMAP扩展
- 卷积神经网络的反向传播,卷积反向传播过程
- 【毕业设计】基于单片机的家庭智能监控系统 - 物联网 stm32 嵌入式
- Python爬取特朗普就职演讲稿,使用ngram模型进行数据清洗
- 毕业设计:微信小程序健康管理系统的开发与实现
- 2023 云海Chatgtp个人商业源码
- 浙江工业大学计算机学院推免生,浙江工业大学计算机科学与技术学院(专业学位)软件工程保研夏令营...
- 2023年互联网技术发展趋势浅析