简单实例: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绘制黑白太极图案
THE END