วันพฤหัสบดีที่ 5 กุมภาพันธ์ พ.ศ. 2558

Image Processing with Java on Ubutu 14.10

File GrayScale.java


import java.awt.*;
import java.awt.image.BufferedImage;

import java.io.*;

import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class GrayScale {

   BufferedImage  image;
   int width;
   int height;
   
   public GrayScale() {
   
      try {
         File input = new File("submarine.jpg");
         image = ImageIO.read(input);
         width = image.getWidth();
         height = image.getHeight();
         
         for(int i=0; i<height; i++){
         
            for(int j=0; j<width; j++){
            
               Color c = new Color(image.getRGB(j, i));
               int red = (int)(c.getRed() * 0.299);
               int green = (int)(c.getGreen() * 0.587);
               int blue = (int)(c.getBlue() *0.114);
               Color newColor = new Color(red+green+blue,
               
               red+green+blue,red+green+blue);
               
               image.setRGB(j,i,newColor.getRGB());
            }
         }
         
         File ouptut = new File("grayscale_submarine.jpg");
         ImageIO.write(image, "jpg", ouptut);
         
      } catch (Exception e) {}
   }
   
   static public void main(String args[]) throws Exception 
   {
      GrayScale obj = new GrayScale();
   }
}



submarine@submarine:~/images$ ls
GrayScale.java  lena.png  submarine.jpg

สั่งคอมไพล์โปรแกรม

submarine@submarine:~/images$ javac GrayScale.java

คอมไพล์สำเร็จ

submarine@submarine:~/images$ ls
GrayScale.class  GrayScale.java  lena.png  submarine.jpg

สั่งรันโปรแกรม

submarine@submarine:~/images$ java GrayScale

แสดงผลลัพธ์จากการรันโปรแกรม

submarine@submarine:~/images$ ls
GrayScale.class  GrayScale.java  grayscale_submarine.jpg  lena.png  submarine.jpg
submarine@submarine:~/images$

ไม่มีความคิดเห็น:

แสดงความคิดเห็น