Documente Academic
Documente Profesional
Documente Cultură
double rC = 0;
double gC = 0;
double bC = 0;
if (ergebeC != 0)
{
rC = (rgb1 * (c1.R - 128)) + 128;
gC = (rgb1 * (c1.G - 128)) + 128;
bC = (rgb1 * (c1.B - 128)) + 128;
}
else {
rC = 0;
gC = 0;
bC = 0;
}
}
progBar.Visible = true;
this.pbOutput.Image = b;
}
}
Hasil brightness = 95
Hasil contrast = 70
Code Invers
private void inversToolStripMenuItem_Click(object sender, EventArgs e)
{
if (pbInput.Image == null)
{
MessageBox.Show("Tidak Ada citra yang akan diolah");
}
else
{
Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);
progBar.Visible = true;
for (int i = 0; i < b.Width; i++)
{
for (int j = 0; j < b.Height; j++)
{
Color c1 = b.GetPixel(i, j);
int r1 = 255 - c1.R;
int g1 = 255 - c1.G;
int b1 = 255 - c1.B;
b.SetPixel(i, j, Color.FromArgb(r1, g1, b1));
}
progBar.Value = Convert.ToInt16(100 * (i + 1) / b.Width);
}
progBar.Visible = false;
this.pbOutput.Image = b;
}
Hasil invers
Code Log Brightness
double r1 = 0;
double g1 = 0;
double b1 = 0;
if (logBInput != 0)
{
c = 255 / (Math.Log(1 + Math.Abs(logBInput)));
r1 = c * Math.Log10(1 + Math.Abs(c1.R));
g1 = c * Math.Log10(1 + Math.Abs(c1.G));
b1 = c * Math.Log10(1 + Math.Abs(c1.B));
b.SetPixel(i, j, Color.FromArgb(Convert.ToInt16(r1),
Convert.ToInt16(g1), Convert.ToInt16(b1)));
}
else
{
r1 = c1.R;
g1 = c1.G;
b1 = c1.B;
}
}
progBar.Value = Convert.ToInt16(100 * (i + 1) / b.Width);
}
progBar.Visible = false;
this.pbOutput.Image = b;
}
double rZ = 0;
double gZ = 0;
double bZ = 0;
double c = 0;
double r1 = 0;
double g1 = 0;
double b1 = 0;
if (logCInput != 0)
{
rZ = (factorC * (c1.R - 128)) + 128;
gZ = (factorC * (c1.G - 128)) + 128;
bZ = (factorC * (c1.B - 128)) + 128;
r1 = cR * Math.Log10(1 + Math.Abs(c1.R));
g1 = cG * Math.Log10(1 + Math.Abs(c1.G));
b1 = cB * Math.Log10(1 + Math.Abs(c1.B));
b.SetPixel(i, j, Color.FromArgb(Convert.ToInt16(r1),
Convert.ToInt16(g1), Convert.ToInt16(b1)));
}
else
{
r1 = c1.R;
g1 = c1.G;
b1 = c1.B;
}
}
progBar.Value = Convert.ToInt16(100 * (i + 1) / b.Width);
}
progBar.Visible = false;
this.pbOutput.Image = b;
}
}
Hasil Log Contrast = 90