java 图片灰度化
来源:互联网 发布:美工云网站 编辑:程序博客网 时间:2024/04/30 16:00
/** * ━━━━━━神兽出没━━━━━━ * ┏┓ ┏┓ * ┏┛┻━━━┛┻┓ * ┃ ┃ * ┃ ━ ┃ * ┃ ┳┛ ┗┳ ┃ * ┃ ┃ * ┃ ┻ ┃ * ┃ ┃ * ┗━┓ ┏━┛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);}}
处理前:
处理后:
5 0
- java 图片灰度化
- java 图片处理灰度化
- java将图片灰度化
- bmp图片灰度化
- matlab图片 灰度化
- java图片转灰度字符
- JAVA灰度化、二值化图片如此简单方便
- java 对图片进行切割,灰度化,切割操作
- JAVA灰度化、二值化图片如此简单方便
- JAVA灰度化、二值化图片如此简单方便
- java图片灰度化原理与实现(未测试)
- java 彩色图片变为灰色,即图片灰度化
- java实现图片转化为字符图片--图片的灰度化
- c#将图片灰度化
- java 图像灰度化
- android图片的灰度化处理
- opencv对图片进行灰度化
- 批量图片灰度化小程序
- XML解析的方法
- 傻傻分不清楚---运筹学
- Visualizer initCheck failed -3( Error code -3 when initializing Visualizer)
- struts2-2.3.24.1升级Struts2-2.3.32避免远程代码执行漏洞
- 2015蓝桥杯B组第六题(加法变乘法)
- java 图片灰度化
- Android Apk廋身完整版
- struts2工作原理
- 保持Android Service在手机休眠后继续运行
- freemarker 比较 Boolean 类型
- redis 快速入门-集群-客户端(Jedis)测试
- 流式计算框架调研
- python 的特殊方法 __str__和__repr__
- Struts2笔记