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 Hongten13 * @create 2014-7-1314 * @mail [email protected]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. Java
1 /** 2 * 3 */ 4 package com.b510.image.common; 5 6 /** 7 * @author Hongten 8 * @create 2014-7-13 9 * @mail [email protected]10 */11 public class Common {12 13 // Orginal image path14 public static String ORGINAL_IMAGE = "src/com/b510/image/resources/orginal_image.jpg";15 // Processed image path16 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 Hongten22 * @create 2014-7-1323 * @mail [email protected]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
========================================================== ======================