Selasa, 03 Desember 2013

Kontras (Contrast)


Kontras adalah tingkat penyebaran piksel-piksel kedalam intensitas warna. Ada 3 macam kontras, yaitu Rendah, Tinggi dan Normal.

1.Rendah

citra yang memiliki kontras rendah dapat terjadi karena kurangnya pencahayaan , citra ini memiliki kurva histogram yang sempit(tingkat penyebaran warna tidak sampai ke hitam pekat dan putih terang)




2. Tinggi

Kurva histogram terlalu besar, sebaran intensitas terang dan gelap merata keseluruh skala intensitas



3. Normal

Kurva histogram tidak terlalu besar dan tidak sempit

Ada beberapa cara untuk melakukan perhitungan kontras, namun yang saya tampilkan sekarang adalah dengan rumus berikut:


Dimana:
G= koefisien penguatan kontras
P=nialai grayscale yang dipakai sebagai pusat pengkontrasan


 contoh perhitungan:


 Kode Program dengan VB.Net

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, Green, Blue, tc, g As Integer
        Dim X, Y As Integer
        tc = 2
        g = 50
        ProgressBar1.Width = picAwal.Width
        ProgressBar1.Show()
        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)
                    Green = CInt(.GetPixel(Y, X).G) 'ambil nilai warna hijau (Green) pada pixel(Y,X)
                    Blue = CInt(.GetPixel(Y, X).B) 'ambil nilai warna biru (Blue) pada pixel(Y,X)                    'hitung kontras
                    Red = tc * (Red - g) + g
                    Blue = tc * (Blue - g) + g
                    Green = tc * (Green - g) + g
                     'kondisi jika melibihi nilai pixel
                    If (Red > 255) Then
                        Red = 255
                    End If
                    If (Blue > 255) Then
                        Blue = 255
                    End If
                    If (Green > 255) Then
                        Green = 255
                    End If
                    If (Red <0) Then
                        Red = 0
                    End If
                    If (Blue < 0) Then
                        Blue = 0
                    End If
                    If (Green <0) Then
                        Green = 0
                    End If
                    bmap.SetPixel(Y, X, Color.FromArgb(Red, Green, Blue)) 'simpan warna baru pada pixel(Y,X)
                Next
               
            Next
        End With
      

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...