Selasa, 07 Januari 2014

Histogram dengan VB 2008

Assalamualaikum sahabat say yang cerdas, sudah lama tidak meng-Update blog ini, alhamdulillah hari ini saya kembali lagi untuk berbagi hal yang sederhana, setelah dijelaskan pada kesempatan sebelumnya mengenai Histogram kini saya tinggal memberikan codingnya sesuai dengan logika yang terdapat pada Histogram dengan vb.net 2008.

langkah-langkahnya:
1 buat form dengan isi:
         a. picturebox yang saya beri nama picAwal dan set ja langsung image yang akan di proses
         b. AxMSChart1(cari ja di om google cara buat grafik atau chart)
         c. button
2. coding
       
        Dim bmap As Bitmap 'deklarasi gambar/image dengan tipe Bitmap
        bmap = New Bitmap(picAwal.Image) 'Gambar asli dijadikan gambar Bitmap
        picAwal.Image = bmap
        Dim tempbmp As New Bitmap(picAwal.Image) 'deklarasi gambar Bitmap dari gambar asli untuk diproses

        Dim Red As Integer, histo(255) As Integer 'saya hanya menampilkan histogram yang red-nya saja
        Dim X, Y As Integer
       
        With tempbmp
            For X = 0 To .Height - 1
                For Y = 0 To .Width - 1
                    Red = CInt(.GetPixel(Y, X).R) 'ambil nilai warna merah (Red) pada pixel(Y,X)
                    histo(Red) += 1 'untuk menghitung frekwensi kemunculan setiap intensitas pixel, setiap pixel yang sama muncul maka nilai akan + 1
                Next
            Next
            

        End With
        AxMSChart1.chartType = MSChart20Lib.VtChChartType.VtChChartType2dBar
        AxMSChart1.RowCount = 256 'Menentukan jumlah baris adalah 256
        AxMSChart1.ColumnCount = 1 'Menentukan jumlah grafik adalah 1

        
        Dim jml As Integer
        jml = (tempbmp.Width * tempbmp.Height) ' digunakan untuk membagi nilai kemunculan.. contoh pixel dengan intensitas 1 muncul 100 kali pada citra 1000 pixel maka frekwensinya adalah 0.1
        
            For X = 1 To 256 ' perulangan untuk menampilkan frekwensi 0 sampai 255 intensitas pixel (dengan jumlah 256) pada grafik

            'set baris ke - X diawal adalah 1 sebelum looping
            AxMSChart1.Row = X

            'Setting label pada baris chart ke-X dengan x-1(artinya pada baris pertama diberi label 0 karena pixel dimuali dari 0)
            AxMSChart1.RowLabel = X - 1

            AxMSChart1.Column = 1
            AxMSChart1.Data = histo(X - 1) / jml 'tampilkan grafik histogram ke X-1 (sebelum looping nilai x-1 adalah 0)
        Next


Selesai dan semoga bermanfaat ya... jika masih bingung silahkan komentar dan lampirkan email anda biar saya kirim programnya melalui email.. 

Entri yang Diunggulkan

Publikasi, Penelitan, Pengabdian, Buku dan Penghargaan

Berikut Ini Adalah Karya Saya Selama 5 Tahun Terakhir  Publikasi Artikel Ilmiah Dalam Jur nal Dan P rosiding   No Jud...