简单实例:JAVA灰度化 二值化图片

开发 后端
下文是一个非常简单,方便的实例,Java灰度化和二值化图片很容易就能够实现。代码比较简单,易懂,很适合初学者。
  1. package image;  
  2.  
  3. import java.awt.image.BufferedImage;  
  4. import java.io.File;  
  5. import java.io.IOException;  
  6.  
  7. import javax.imageio.ImageIO;  
  8.  
  9. public class ImageDemo {  
  10.  
  11.     public void binaryImage() throws IOException{  
  12.     File file = new File(System.getProperty("user.dir")+"/src/2722425974762424026.jpg");  
  13.     BufferedImage image = ImageIO.read(file);  
  14.       
  15.     int width = image.getWidth();  
  16.     int height = image.getHeight();  
  17.       
  18.     BufferedImage grayImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_BINARY);  
  19.     for(int i= 0 ; i < width ; i++){  
  20.         for(int j = 0 ; j < height; j++){  
  21.         int rgb = image.getRGB(i, j);  
  22.         grayImage.setRGB(i, j, rgb);  
  23.         }  
  24.     }  
  25.       
  26.     File newFile = new File(System.getProperty("user.dir")+"/src/2722425974762424028.jpg");  
  27.     ImageIO.write(grayImage, "jpg", newFile);  
  28.     }  
  29.       
  30.     public void grayImage() throws IOException{  
  31.     File file = new File(System.getProperty("user.dir")+"/src/2722425974762424026.jpg");  
  32.     BufferedImage image = ImageIO.read(file);  
  33.       
  34.     int width = image.getWidth();  
  35.     int height = image.getHeight();  
  36.       
  37.     BufferedImage grayImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);  
  38.     for(int i= 0 ; i < width ; i++){  
  39.         for(int j = 0 ; j < height; j++){  
  40.         int rgb = image.getRGB(i, j);  
  41.         grayImage.setRGB(i, j, rgb);  
  42.         }  
  43.     }  
  44.       
  45.     File newFile = new File(System.getProperty("user.dir")+"/src/2722425974762424027.jpg");  
  46.     ImageIO.write(grayImage, "jpg", newFile);  
  47.     }  
  48.       
  49.     public static void main(String[] args) throws IOException {  
  50.     ImageDemo demo = new ImageDemo();  
  51.     demo.binaryImage();  
  52.     demo.grayImage();  
  53.     }  
  54.  

主要就是BufferedImage.TYPE.BYTE.GRAY灰度化,BufferedImage.TYPE.BYTE.BINARY二值化

原图:

灰度化后的图片:

二值化后的图片:

效果还可以,赞一个JAVA。

原文链接:http://blog.csdn.net/lazy_p/article/details/7165999

【编辑推荐】

  1. Java读取WEB应用中的资源
  2. Java中运用数组的四种排序方法
  3. Java实现实用的ZIP压缩与解压
  4. Java防止SQL注入的几个途径
  5. 使用Java 2D绘制黑白太极图案
责任编辑:林师授 来源: lazy_p的博客
相关推荐

2024-01-09 08:20:23

OpenCV二值化灰度化

2023-02-15 17:26:11

Java实例化系统

2012-05-23 12:55:39

Java实例化

2009-07-10 09:30:41

SwingWorker

2009-09-18 16:32:51

Linq委托实例化

2012-06-21 09:28:47

jQuery

2021-07-26 16:31:30

网络数据技术

2017-01-19 18:58:11

iOS组件化方案

2010-12-08 11:33:21

面试

2009-09-24 15:42:44

Hibernate对象

2018-03-21 11:00:45

2010-05-26 14:42:54

桌面虚拟化

2013-03-04 11:10:03

JavaJVM

2012-05-14 17:10:50

iOS

2010-08-20 09:37:04

虚拟化

2012-05-13 13:15:54

IOS

2014-07-09 09:06:33

SDN自动化

2021-12-01 07:02:16

虚拟化LinuxCPU

2010-04-20 16:10:09

虚拟化

2009-09-09 15:54:48

C# XML序列化
点赞
收藏

51CTO技术栈公众号