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(); } }
主要就是BufferedImage.TYPE.BYTE.GRAY灰度化,BufferedImage.TYPE.BYTE.BINARY二值化
原图:
灰度化后的图片:
二值化后的图片:
效果还可以,赞一个JAVA。