Just Share Information and Experience

Sunday, 20 March 2016

Konversi Citra Berwarna ke Grayscale Dalam Java Netbeans

Dalam Posting saya kali ini, saya akan membahas pengolahan citra yang mana mengkonversi citra berwarna menjadi graycale. Artikel yang akan saya share ini mungkin ada kaitannya dengan artikel yang saya tulis sebelumnya yaitu Resize ukuran citra di Java. Untuk pengertian dan definisinya temen temen bisa cari di google ya heheh,,, banyak kok :). Baik berikut adalah langkah - langkah nya :

  • Buka netbeans dalam komputer masing-masing
  • bagi yang sudah punya project baru tinggal dilanjutkan, namun bagi yang belum punya project baru bikin baru ya,, udah tau kan pasti caranya...
  • buat form / Jframe baru.
  • kemudian masukkan 1 object Jlabel untuk menampilkan gambarnya, dan 1 objek JButton untuk klik proses grayscalenya.
  • Selanjutnya kasi nama varibel dari kedua object tersebut biar ga bingung ya,, disini Jlabel saya kasi nama variabel lbl_img dan JButton saya kasi nama btn_proses.
  • ok. sampai disini anda sudah selesai membuat rancangan formnya, sekarang masuk ke bagian source nya ya
  • buat fungsi berikut di bagian source :

//fungsi pertama untuk membaca file
public BufferedImage loadImage(String alamat) {
        BufferedImage bi = null;
        try {
            bi = ImageIO.read(new File(alamat));
        } catch (Exception e) {
            e.printStackTrace();
        }

        return bi;
    }

//Fungsi kedua untuk proses grayscale
public BufferedImage gray(BufferedImage gambar_c) {
        int w = gambar_c.getWidth();
        int h = gambar_c.getHeight();

        BufferedImage grayScale = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);

        for (int y = 0; y < gambar_c.getHeight(); y++)
        {          
            for (int x = 0; x < gambar_c.getWidth(); x++)
            {
                 Color c = new Color(gambar_c.getRGB(x, y));
                 int red = (int) c.getRed();
                 int green = (int) c.getGreen();
                 int blue = (int) c.getBlue();
               
                 int avg = (red + green + blue) / 3;
                Color newColor = new Color(avg,avg,avg);

               grayScale.setRGB(x,y,newColor.getRGB());
            }
        }
        return grayScale;
    }
  • Kmudian masuk kebagian design form, klik 2 kali pada button nya, sampai di arahkan ke source lagi, 
private void btn_prosesActionPerformed(java.awt.event.ActionEvent evt) {                                         
        BufferedImage gambar_gray = gray(loadImage("img1.jpg"));
        ImageIcon ic = new ImageIcon(gambar_gray);
        lbl_img.setIcon(ic);
    } 

Sampai disini program sudah dapat dijalankan, ingat di save baru kemudian di compile ya.. Oh ya untuk "img1.jpg" gambar usahan tempatkan bersama dengan alamat dimana project berada. Kalau seandainya jika teman teman tidak ingin memindahkan gambar, maka cukup edit "img1.jpg" tesebut dengan alamat sesuai tempat gambar yang akan diubah menjadi grayscale mis. di drive D atau di drive C.

Baik sekian tutorial cara Grayscale citra dengan java netbeans hari ini, semoga bisa membantu dan jika ada yang kurang dimengerti bisa ditanyakan pada kolom komentar. Trimakasih :)


keywords : Pengolahan Citra, Grayscale Citra, Pengolahan citra dalam java, Java netbeans

No comments:

Post a Comment