histogram dengan vb 2008

2
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

Upload: irwan-saputra

Post on 21-Dec-2015

49 views

Category:

Documents


22 download

DESCRIPTION

Image processing

TRANSCRIPT

Page 1: Histogram Dengan VB 2008

Histogram dengan VB 2008Assalamualaikum 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. button2. 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

Page 2: Histogram Dengan VB 2008

            '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