Thursday 17 July 2014

JAVADA RESMİ GRİYE ÇEVİRME(görüntü işleme..) kaynak kodları

Program çalişmadan önce....





*Temel görüntü işleme algoritmalarından biri olan gri tona çevirme algoritması kullanılmıştır...

*Bu algoritmaya göre her pixelin RGB formatında 8 er bit ile renk tonları tutulduğu biliniyor...

*Bu int olarak tutulan bu değerlerinin aritmetik ortalaması aynı pixele işlenerek yapılmaktadır..

* Tabi  bu işlemleri yaparken gerekli shift işlemleri yapılmalıdır...Yani RED değeri 16 bit sağa kaydırılmalıdır ve GREEN değeri 8 bit sağa kaydırılmalıdır..

*




package iamge_grayscale;

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

/**
 *
 * @author YASİR KILIÇ
 */
public class Image_grayscale {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws Exception{
        // TODO code application logic here
        BufferedImage image=null;
        File f=null;
        try {
            f=new File("D:\\pardus.jpg");
            image=ImageIO.read(f);
         
        } catch (Exception e) {
            e.printStackTrace();
        }
        int h=image.getHeight();
         int w=image.getWidth();
     
       
         for(int i=0;i<w;i++){
              for(int j=0;j<h;j++){
               
                  int p=image.getRGB(i, j);
                  int a=(p>>24)&0xff;
                  int r=(p>>16)&0xff;
                   int g=(p>>8)&0xff;
                  int b=p&0xff;
                  int avg=(r+g+b)/3;
                 p=(a<<24)|(avg<<16)|(avg<<8)|avg;
                 image.setRGB(i, j, p);
               
               
                                }
       
       
         }
     
       try{
     
       f=new File("D:\\x.jpg");
     
       ImageIO.write(image, "jpg", f);
     
     
       }catch(Exception e){
       e.printStackTrace();
       }
       
    }
 
}







Program çaliştiktan sonra.....



No comments:

Post a Comment