TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
下文是一个非常简单,方便的实例,java灰度化和二值化图片很容易就能够实现。代码比较简单,易懂,很适合初学者。
- 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");
- //System.out.println(file);
- 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();
- }
-
- }
复制代码 主要就是BufferedImage.TYPE.BYTE.GRAY灰度化,BufferedImage.TYPE.BYTE.BINARY二值化 原图 
灰度化后的图片:

二值化后的图片:

效果还可以,赞一个JAVA。
源码下载:http://file.javaxxz.com/2014/10/28/235540781.zip |
|