public Bitmap rgb2gray(Bitmap bm)
{
//Row-wise iteration through the Bitmap
for (int y = 0; y < bm.Height; y++)
{
for (int x = 0; x < bm.Width; x++)
{
Color pixelColor = bm.GetPixel(x, y);
int pixelLuminance = (int)(pixelColor.R * 0.2126 + pixelColor.G * 0.7152 + pixelColor.B * 0.0722);
bm.SetPixel(x, y, Color.FromArgb(pixelLuminance, pixelLuminance, pixelLuminance));
}//for
}//for
return bm;
}