Contrast adalah proses menaik-turunkan perbedaan nilai terang dan gelap sebuah gambar dengan cara mengalikan nilai derajat keabuan dengan nilai perubah contrast.
kode Contrast
objBitmap5 = new Bitmap(objBitmap1); float c = Convert.ToSingle(textBox3.Text); float[] h = new float[256]; int i; for (i = 0; i < 256; i++) h[i] = 0; for (int x = 0; x < objBitmap1.Width; x++) for (int y = 0; y < objBitmap1.Height; y++) { Color w = objBitmap1.GetPixel(x, y); int xg = (int)((w.R + w.G + w.B) / 3); int xc = (int)(c * xg); if (xc >= 255) xc = 255; Color new_w = Color.FromArgb(xc, xc, xc); objBitmap5.SetPixel(x, y, new_w); h[xc] = h[xc] + 1; } pictureBox5.Image = objBitmap5; //histogram for (i = 0; i < 256; i++) { chart4.Series["Series1"].Points.AddXY(i, h[i]); } |
lanjutan kode diatas
h[xc] = h[xc] + 1; } pictureBox5.Image = objBitmap5; //histogram for (i = 0; i < 256; i++) { chart4.Series["Series1"].Points.AddXY(i, h[i]); } |
Output
Keterangan :
Dalam proses naik turunkan perbedaan nilai gelap atau terang idealnya dari suatu kontras menemukan bahwa range angka untuk menghasilkan gambar bagus untuk tampilan yaitu range konstanta 0 – 1. Sudah di buktikan di atas ternyata dengan nilai contrast konstanta 0 gambar akan menjadi hitam dan jika konstanta dibawah 0.5 misalnya. maka akan menghasilkan gambar yang gelap. Semakin mendekati angka 0 maka gambar akan semakin gelap. Dan jika melebihi 2 keatas gambar sudah terang dan sudah menjadi nilai sempurna putih dengan rgb 255. Setiap nilai konstanta ini maka akan dikalikan dengan nilai derajat keabuan hal ini yang akan menjadikan perubahan pada perbedaan nilai terang dan gelap.
Untuk konstanta brightness dengan contrast berbeda, jika kontras menggunakan range konstanta -255 sampai 255 namun untuk konrast hanya menggunakan konstanta 0-1 boleh koma. Karena kontras menggunakan perkalian.
Berikut kontras jika dipotoshop
semakin kecil nilai konstantanya maka semakin gelap gambar, hal ini membuktikan bahwa contrast dan brightness berbeda. Seperti gambar dibawah.
jika contrast dalam perbedaan warna terjadi tidak signifikan jika anga dirubah ke titik konstata max/min. berbeda dengan brightness yang berubah terang/gelap secara signifikan terlihat pada gambar disamping.
Kesimpulannya adalah dalam penerapan penggunaan enhancement sangat tergantung kebutuhan user. Ingin citra dengan model seperti apa ada contrast , auto level , brightness, dan invers. Semua sesau kebutuhan dan kualitas citra yang diinginkan. Untuk itu dalam sebelum melakukan enhancement sangat disarankan menggukan gambar grayscale karena hasil bitmap dari gambar tersebut memiliki ukuran lebih kecil dan proses komputasi akan semakin ringan tidak berat.