Kontras (Contrast)
Kontras adalah tingkat penyebaran piksel-piksel kedalam intensitas warna. Ada 3 macam kontras, yaitu Rendah, Tinggi dan Normal.
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 BitmappicAwal.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
Komentar
Posting Komentar