您的位置:首页 > 编程语言 > Java开发

JAVA灰度化、二值化图片如此简单方便

2015-01-26 14:17 323 查看


JAVA灰度化、二值化图片如此简单方便

分类: java 算法2011-12-30
19:07 5589人阅读 评论(7) 收藏 举报

java图片灰度化图片二直化

[java] view
plaincopy





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);//重点,技巧在这个参数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);//重点,技巧在这个参数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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: