Bitmap bmp = new Bitmap(pictureBox1.Image); //创建Bitmap对象
Bitmap tmp = (Bitmap)bmp.Clone();//创建Bitmap对象
int height = tmp.Height;//高
int width = tmp.Width; ;//宽
Color pixel;
//拉普拉斯模板
int[] Laplacian = { -1, -1, -1, -1, 9, -1, -1, -1, -1 };
for (int x = 1; x < width - 1; x++)
for (int y = 1; y < height - 1; y++)
{
int r = 0, g = 0, b = 0;
int Index = 0;
for (int col = -1; col <= 1; col++)
for (int row = -1; row <= 1; row++)
{
pixel = bmp.GetPixel(x + row, y + col);
r += pixel.R * Laplacian[Index];
g += pixel.G * Laplacian[Index];
b += pixel.B * Laplacian[Index];
Index++;
}
//处理颜色值溢出
r = r > 255 ? 255 : r;
r = r < 0 ? 0 : r;
g = g > 255 ? 255 : g;
g = g < 0 ? 0 : g;
b = b > 255 ? 255 : b;
b = b < 0 ? 0 : b;
tmp.SetPixel(x - 1, y - 1, Color.FromArgb(r, g, b));
}
this.pictureBox2.Image = tmp;
![](//images0.cnblogs.com/blog/511414/201501/221033097666680.png)