Skip navigation


Masih agak-agak terkait dengan 2 post sebelumnya, hasil perhitungan histogram dari sebuah gambar akan ditampilkan dengan menggunakan grafik. Untuk itu dibutuhkan sebuah pustaka grafik. Pustaka yang paling sering saya pakai adalah JFreeChart. Pustaka ini gratis dan sangat lengkap hanya saja untuk mendapatkan dokumentasi dan contoh-contoh penggunaannya yang lengkap kita harus membeli panduannya.

Cara mudah untuk membuat grafik adalah dengan menggunakan ChartFactory pada JFreeChart. Dari factory tersebut kita bebas memilih jenis grafik yang kita inginkan, dalam hal ini CategoryPlot di mana kita ingin menampilkan setiap warna dalam kategori yang berbeda. Untuk mengisi datanya kita hanya memasukkan data ke DataSet yang sesuai (untuk CategoryPlot menggunakan DefaultCategoryDataset atau extend dari CategoryDataset).

Contoh kodenya (digabung dengan penghitungan histogram)

imageColorCount = new int[3][0x100];
        for (int x = 0; x < width; x++) {
            for (int y = 0; y < height; y++) {
                int color = image.getRGB(x, y);
                int cred = (color & 0x00ff0000) >> 16;
                int cgreen = (color & 0x0000ff00) >> 8;
                int cblue = color & 0x000000ff;
                imageColorCount[RED][cred]++;
                imageColorCount[GREEN][cgreen]++;
                imageColorCount[BLUE][cblue]++;
            }
        }
        //
        DefaultCategoryDataset colorDataset = new DefaultCategoryDataset();
        for (int j = 0; j < 0x100; j++) {
            colorDataset.addValue(imageColorCount[0][j], "Red", new Integer(j));
            colorDataset.addValue(imageColorCount[2][j], "Blue", new Integer(j));
            colorDataset.addValue(imageColorCount[1][j], "Green", new Integer(j));
        }
        JFreeChart jfcolor = ChartFactory.createLineChart("Histogram", "Nilai", "Frekuensi", colorDataset, PlotOrientation.VERTICAL, true, true, true);
        chartRGBPanel.removeAll();
        ChartPanel jpchart = new ChartPanel(jfcolor);
        chartRGBPanel.add(jpchart);
        chartRGBPanel.repaint();

Voila. Di bawah adalah salah satu contoh aplikasi dari kode-kode yang sudah dimodifikasi.

5 Comments

  1. Terimakasih sebelumnya…

    saya mau tanya mas…

    ada coding lengkapnya gak???

    soalnya saya baru pertama belajar java n’ jfreechart.

    saya ada kesulitan buat menampilkan hasil perhitungan di histogram ke jfreechart. soalnya saya gagal di “colorDataset”.

    untuk perhitungan histogramnya…alhamdulilah dah bisa ikutin tutorial mas. tinggal menampilkannya di jfreechart.

    thanks banget sebelumnya…semoga ilmunya berkah🙂

  2. sebenarnya kodenya cuman itu saja seh.
    tapi mungkin gagalnya karena library JFreeChartnya belum dimasukin.
    coba lihat tutorial-tutorial JFreeChart, deh.

  3. mohon bantuan
    saya membuat jframe dan jpanel, pada jpanel saya masukan jfreechart
    jpanel1.add(jfrechartpanel)

    namun pada saat di run jfreechart saya tidak mau mengeluarkan grafik, pdahal sudah di kasi coding buat dynamic time series

    harus bgaimana yah

  4. mas, saya punya program nampilin histogram pake jframe. tapi yang keliatan nilainya di grafik cuma frekuensi. saya mau nampilin nilai fungsinya tapi cuma jadi titik2 gitu. gimana ya?

  5. mas, saya punya program nampilin histogram pake jframe. tapi yang keliatan nilainya di grafik cuma frekuensi. saya mau nampilin nilai pixelnya tapi cuma jadi titik2 gitu. gimana ya?


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: