Skip navigation

Monthly Archives: Februari 2010


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.

Iklan

Tulisan ini diambil dari tugas review artikel berjudul “A Modular Approach To Fault-Tolerant Broadcast and Related Problems“. Artikel ini membahas permasalahan broadcast dan consensus pada sistem yang fault tolerant. Permasalahan-permasalahan tersebut diklasifikasikan berdasarkan spesifikasinya ke dalam beberapa kategori mulai dari kategori terlemah Reliable Broadcast dan kombinasi antara beberapa permasalahan broadcast lainnya.  Kemudian artikel ini akan memberikan algoritma solusi untuk setiap permasalahan. Selanjutnya solusi ini akan dideskripsikan secara moduler mulai dari solusi untuk kategori Reliable Broadcast dan membangun solusi untuk kategori yang lebih kuat dengan menggunakan algoritma-algoritma untuk permasalahan yang lebih lemah.
Read More »

%d blogger menyukai ini: