彩色照片转换为黑白照片(Color image converted to black and white picture)
This blog will be talking about the color image converted to black and white picture.
The project structure as follow:
The run result:
==========================================================
source code:
==========================================================
/UUUU_Test/src/com/b510/image/clent/Client.java
1 /** 2 * 3 */ 4 package com.b510.image.clent; 5 6 import java.io.File; 7 8 import com.b510.image.common.Common; 9 import com.b510.image.util.ImageUtil; 10 11 /** 12 * @author Hongten 13 * @create 2014-7-13 14 * @mail hongtenzone@foxmail.com 15 */ 16 public class Client { 17 18 public static void main(String[] args) { 19 File input = new File(Common.ORGINAL_IMAGE); 20 File out = new File(Common.PROCESSED_IMAGE); 21 ImageUtil.changeImge(input, out); 22 } 23 }
/UUUU_Test/src/com/b510/image/common/Common.java
1 /** 2 * 3 */ 4 package com.b510.image.common; 5 6 /** 7 * @author Hongten 8 * @create 2014-7-13 9 * @mail hongtenzone@foxmail.com 10 */ 11 public class Common { 12 13 // Orginal image path 14 public static String ORGINAL_IMAGE = "src/com/b510/image/resources/orginal_image.jpg"; 15 // Processed image path 16 public static String PROCESSED_IMAGE = "src/com/b510/image/resources/processed_image.jpg"; 17 18 public static String PROCESS_SUCCESS = "Processed successfully....."; 19 public static String PROCESS_ERROR = "Processing encounters error!"; 20 }
/UUUU_Test/src/com/b510/image/util/ImageUtil.java
1 /** 2 * 3 */ 4 package com.b510.image.util; 5 6 import java.awt.Image; 7 import java.awt.color.ColorSpace; 8 import java.awt.image.BufferedImage; 9 import java.awt.image.ColorConvertOp; 10 import java.io.File; 11 import java.io.FileOutputStream; 12 import java.io.IOException; 13 14 import javax.imageio.ImageIO; 15 16 import com.b510.image.common.Common; 17 import com.sun.image.codec.jpeg.JPEGCodec; 18 import com.sun.image.codec.jpeg.JPEGImageEncoder; 19 20 /** 21 * @author Hongten 22 * @create 2014-7-13 23 * @mail hongtenzone@foxmail.com 24 */ 25 public class ImageUtil { 26 /** 27 * Color image is converted to black and white picture. 28 */ 29 public static void changeImge(File input, File out) { 30 try { 31 Image image = ImageIO.read(input); 32 int srcH = image.getHeight(null); 33 int srcW = image.getWidth(null); 34 BufferedImage bufferedImage = new BufferedImage(srcW, srcH, BufferedImage.TYPE_3BYTE_BGR); 35 bufferedImage.getGraphics().drawImage(image, 0, 0, srcW, srcH, null); 36 bufferedImage = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null).filter(bufferedImage, null); 37 FileOutputStream fos = new FileOutputStream(out); 38 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos); 39 encoder.encode(bufferedImage); 40 fos.close(); 41 System.out.println(Common.PROCESS_SUCCESS); 42 } catch (IOException e) { 43 e.printStackTrace(); 44 throw new IllegalStateException(Common.PROCESS_ERROR, e); 45 } 46 } 47 48 }
========================================================
More reading,and english is important.
I'm Hongten
大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten
========================================================