public void Blur() { float[,] kernel; kernel = new float[3, 3]; for (int i = 0; i < kernel.GetLength(0); i++) { for (int j = 0; j < kernel.GetLength(0); j++) { kernel[i, j] = 1.0f / 9.0f; } } MatrixFilter BlurStd = new MatrixFilter(kernel); for (int i = 0; i < bmp.Width; i++) { for (int j = 0; j < bmp.Height; j++) { bmp.SetPixel(i, j, BlurStd.CalculateNewColor(bmp, i, j)); } } }
public void AdaptiveBin() { float[,] kernel; kernel = new float[5, 5]; MatrixFilter Adaptive = new MatrixFilter(kernel); for (int i = 0; i < bmp.Width; i++) { for (int j = 0; j < bmp.Height; j++) { Color tmp = bmp.GetPixel(i, j); if ((tmp.R + tmp.G + tmp.B) / 3 > Adaptive.CalculateNewTr(bmp, i, j)) { bmp.SetPixel(i, j, Color.FromArgb(255, 255, 255)); } else { bmp.SetPixel(i, j, Color.FromArgb(0, 0, 0)); } } } }