membuat citra invers c#

1. code invers c#

objBitmap2 = new Bitmap(objBitmap1);

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 xi = 255-xg;

Color new_w = Color.FromArgb(xi, xi, xi);

objBitmap2.SetPixel(x, y, new_w);

}

pictureBox2.Image = objBitmap2;

//grafik

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 xi = 255 - xg;

h[xi] = h[xi] + 1;

}

for (i = 0; i < 256; i++)

{

chart1.Series["Series1"].Points.AddXY(i, h[i]);

}

Output

citra invers c#

Keterangan / :

Invers membalik nilai derajat keabuan dari cerah menjadi gelap atau dari gelap menjadi terang. Misalnya dari derajat keabuan 255 akan menjadi 0 begitu juga sebaliknya hal ini karena dipengaruhi dengan rumus

Int xi = 255 – xg . jika dilakukan hitungan seperti berikut:

Contoh derajat keabuan pada table

Derajat keabuan

Derajat invers

35

255 – 35 = 220

55

255 – 55 = 200

115

255 –115 = 140

255

255 – 255 = 0

Dari table diatas dapat diketahui bahwa invers meruapakan lawan dari derajat keabuan kecil menjadi besar dan begitu sebaliknya. Pada gambar yang aslinya titik yang memiliki gambar cerah maka akan menjadi gelap begitu sebaliknya.

Pada gambar histogram gambar lebih dominasi warna gelap karena grafik di sebelah kiri terlihat lebih banyak. Dari pada grafik disisi kiri histogram. Untuk menunjukan apakah histogram pada invers beda objek menghasilkan model histogram yang sama berikut percobaannya

citra invers c#

Dibandingkan dengan gambar awal seperti ini

citra invers c#

Hasil dari kedua histogram ternyata mirip yaitu grafik lebih banyak di bagian kiri yang menandakan gambar dominasi warna gelap.