Skip navigation


Postingan ini dan beberapa postingan berikutnya akan membahas mengenai Image Histogram sederhana dengan menggunakan Java. Image histogram adalah sebuah representasi dari distribusi warna sebuah gambar. Biasanya untuk sistem warna RGB, histogram ini dibangun dengan menghitung frekuensi nilai-nilai kompoisi tiap warna ini.

Image histogram ini dibuat untuk tugas kuliah Sistem Rekognisi. Pada postingan ini saya akan mempraktikkan bagaimana mengambil data sebuah pixel pada sebuah image dengan menggunakan Java. Hal ini dapat dilakukan dengan menggunakan library imageio

Kodenya cukup sederhana.

public static void main(String[] args) throws IOException {
        String imagepath = "C:\\lenna.bmp";
        BufferedImage image = ImageIO.read(new File(imagepath));
        int width = image.getWidth();
        int height = image.getHeight();
        int count[][] = new int[3][0x100];
        int RED = 0;
        int BLUE = 1;
        int GREEN = 2;
        int total = width * height;
        for (int i = 0; i < width; i++) {
            for (int j = 0; j < height; j++) {
                int color = image.getRGB(i, j);
                int cred = (color & 0x00ff0000) >> 16;
                int cgreen = (color & 0x0000ff00) >> 8;
                int cblue = color & 0x000000ff;

                count[RED][cred]++;
                count[BLUE][cblue]++;
                count[GREEN][cgreen]++;
            }
        }
        for (int i = 0; i < 0x100; i++) {
            System.out.printf("%03d %04d %04d %04d\n", i, count[RED][i], count[BLUE][i], count[GREEN][i]);
        }
    }

Bagian yang paling menarik adalah bagian

int color = image.getRGB(i, j);
int cred = (color & 0x00ff0000) >> 16;
int cgreen = (color & 0x0000ff00) >> 8;
int cblue = color & 0x000000ff;

method getRGB mengembalikan sebuah nilai long integer yang berisi data RGBnya di mana kode blue berada pada least significant byte, green lebih signifikan, dan red berada pada posisi most significant byte.

Pada postingan selanjutnya akan dibahas cara integrasi komponen-komponen seperti progress bar dan chart untuk memperindah representasi dari histogram.

3 Comments

  1. Berbau tugas citra nih

    • yah khan yang ikut sistem rekognisi gak semuanya pernah ngambil citra..

  2. tnx sob😀


2 Trackbacks/Pingbacks

  1. By Menampilkan gambar di Swing « Males Koding on 11 Mar 2010 at 8:53 am

    […] Males Koding Blog yang isinya ternyata banyak kodingannya AboutRequestIn DraftWorks « Image Histogram di Java part 1 […]

  2. By Zhang-Suen Thinning Algorithm « Males Koding on 26 Apr 2010 at 6:53 am

    […] Java, pemrograman, Programming, thinning, zhang-suen Mungkin gw udah cerita di beberapa post lalu kalau pada semester ini gw mengambil mata kuliah Sistem Rekognisi. Permasalahan yang dihadapi […]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: