Rabu, 17 Agustus 2016

Pengolahan Citra Digital - Pixel Grabber

Assalamualaikum sobat,
kembali lagi dengan saya yang ingin berbagi sedikit ilmu yang saya dapat. Tentang pengolahan citra digital topiknya pixel grabber. Menggunakan java console, alat bantunya cmd dan notepad++ yang saya pakai.

Buka cmd :
pindahkan ke drive D lalu ketik dimana folder yang berisi file *.java, gambar, *.html. Ikuti langkah seperti gambar dibawah ini. Untuk setting path disesuaikan keberadaan folder java, misal jdk nya berbeda seri nomornya.



Ketikkan javac sebelum mengkompile file *.java nya

Kompile file NgeGrabPixel.java, jika dienter seperti gambar dibawah ini file aman tidak adanya error.

Menampilkan appletnya ketik seperti gambar diatas appletviewer nama filenya lalu akan muncul hasilnya seperti ini :




Untuk codingnya diketik pada notepad++.
File NgeGrabPixel.java

 import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Image;
import java.awt.image.PixelGrabber;

public class NgeGrabPixel extends Applet
{
    Image img;
    int lebar, tinggi;
    int warna, red, green, blue, alpha, abuabu, tempwarna;
    String tampil;
   
    public void init()
    {
        img=this.getImage(this.getDocumentBase(), "kucing.jpg"); //disesuaikan dengan file gambar
        lebar = img.getWidth(this);
    }
   
    public void paint (Graphics g)
    {
        //beri warna pada panel
        g.setColor(Color.lightGray);
        g.fillRect(0,0,2800,800);
       
        //ambil lebar dan tinggi citra
        lebar = img.getWidth(this);
        tinggi = img.getHeight(this);
       
        //tampilkan informasi lebar dan tinggi citra
        g.setColor(Color.black);
        tampil = String.valueOf(lebar);
        g.drawString("lebar: "+tampil,10,20);
        tampil = String.valueOf(tinggi);
       
        //tampilkan citra dengan drawImage
        g.drawImage(img,10,50,this);
       
        //tentukan panjang array pixels
        int [] pixels = new int[lebar*tinggi];
       
        PixelGrabber pg = new PixelGrabber(img,0,0,lebar,tinggi, pixels,0,lebar);
        try
        {
            pg.grabPixels(); //grab piksel citra ke object pg.
        }
        catch (InterruptedException ie)
        {
            System.out.println("Terjadi kesalahan saat mengambil data pixels");
            ie.printStackTrace();
            return;
        }
        g.drawString("Hasil Pengolahan",lebar+100,20);
        g.drawString("pakai drawLine",lebar+100,40);
        g.drawString("pakai drawOval",lebar+100+lebar+50,40);
        g.drawString("pakai drawRect",lebar+100+lebar+50+lebar+50,40);
        g.drawString("abu-abu",       lebar+100+lebar+50+lebar+50+lebar+50, 40);
       
        g.setColor(Color.black);
        for(int j=0;j<tinggi;j++)
        {
            for(int i=0;i<lebar;i++)
            {
                warna = pixels[j*lebar+i];
                alpha = (warna >> 24) & 0xff;
                red = (warna >> 16) & 0xff;
                green = (warna >> 8) & 0xff;
                blue = (warna) & 0xff;
                g.setColor(new Color(red, green, blue));
                g.drawLine(i+lebar+100,                 j+50, i+lebar+100, j+50);
                g.drawOval(i+lebar+100+lebar+50,        j+50, 1,1);
                g.drawRect(i+lebar+100+lebar+50+lebar+50, j+50, 1,1);
                abuabu = (red+green+blue) / 3;
                g.setColor(new Color(abuabu, abuabu, abuabu));
                g.drawOval(i+lebar+100+lebar+50+lebar+50+lebar+50, j+50, 1,1);
            }
        }
    }
   
    public void repaint (Graphics g)
    {
        //kosongkan saja
    }
}




File panggil.html nya

<html>
<head>
    <title>Nge Grab Pixel</title>
</head>
<body>
    <applet code=NgeGrabPixel.class width=1000 height=800>
    </applet>
</body>
</html>



Selamat mencoba semoga bermanfaat.

Minggu, 14 Agustus 2016

SAKIT

laptop adalah jantungku
internet adalah darahku
flashdisk adalah lambungku
code adalah makananku
software adalah alat makanku

kini lambungku rusak
oleh virus shortcut
av tak sanggup menanganinya
cmd pun begitu
dokter manakah yang bisa menyembuhkan lambungku?

~Novia Mardiana~
14/08/2016