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

开发 后端
下文是一个非常简单,方便的实例,Java灰度化和二值化图片很容易就能够实现。代码比较简单,易懂,很适合初学者。
package image;  
 
import java.awt.image.BufferedImage;  
import java.io.File;  
import java.io.IOException;  
 
import javax.imageio.ImageIO;  
 
public class ImageDemo {  
 
    public void binaryImage() throws IOException{  
    File file = new File(System.getProperty("user.dir")+"/src/2722425974762424026.jpg");  
    BufferedImage image = ImageIO.read(file);  
      
    int width = image.getWidth();  
    int height = image.getHeight();  
      
    BufferedImage grayImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_BINARY);  
    for(int i= 0 ; i < width ; i++){  
        for(int j = 0 ; j < height; j++){  
        int rgb = image.getRGB(i, j);  
        grayImage.setRGB(i, j, rgb);  
        }  
    }  
      
    File newFile = new File(System.getProperty("user.dir")+"/src/2722425974762424028.jpg");  
    ImageIO.write(grayImage, "jpg", newFile);  
    }  
      
    public void grayImage() throws IOException{  
    File file = new File(System.getProperty("user.dir")+"/src/2722425974762424026.jpg");  
    BufferedImage image = ImageIO.read(file);  
      
    int width = image.getWidth();  
    int height = image.getHeight();  
      
    BufferedImage grayImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);  
    for(int i= 0 ; i < width ; i++){  
        for(int j = 0 ; j < height; j++){  
        int rgb = image.getRGB(i, j);  
        grayImage.setRGB(i, j, rgb);  
        }  
    }  
      
    File newFile = new File(System.getProperty("user.dir")+"/src/2722425974762424027.jpg");  
    ImageIO.write(grayImage, "jpg", newFile);  
    }  
      
    public static void main(String[] args) throws IOException {  
    ImageDemo demo = new ImageDemo();  
    demo.binaryImage();  
    demo.grayImage();  
    }  
 

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.

主要就是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

2010-05-26 14:42:54

桌面虚拟化

2010-12-08 11:33:21

面试

2009-09-24 15:42:44

Hibernate对象

2021-07-26 16:31:30

网络数据技术

2017-01-19 18:58:11

iOS组件化方案

2018-03-21 11:00:45

2013-03-04 11:10:03

JavaJVM

2014-07-09 09:06:33

SDN自动化

2012-05-13 13:15:54

IOS

2021-12-01 07:02:16

虚拟化LinuxCPU

2010-08-20 09:37:04

虚拟化

2012-05-14 17:10:50

iOS

2009-09-09 15:54:48

C# XML序列化

2024-01-02 10:54:07

Rust结构体元组
点赞
收藏

51CTO技术栈公众号