none
为什么锐化后的图片比较怪异?边缘太突出了 RRS feed

  • 常规讨论

  •  下面是经典的锐化代码。我换了一个高通滤波器后还是太夸张了。能不能做到像可牛影像那样的锐化?

    private void button1_Click(object sender, EventArgs e)
    {
    //以锐化效果显示图像
    try
    {
    int Height = this.pictureBox1.Image.Height;
    int Width = this.pictureBox1.Image.Width;
    Bitmap newBitmap
    = new Bitmap(Width, Height);
    Bitmap oldBitmap
    = (Bitmap)this.pictureBox1.Image;
    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
    = oldBitmap.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;
    newBitmap.SetPixel(x
    - 1, y - 1, Color.FromArgb(r, g, b));
    }
    this.pictureBox1.Image = newBitmap;
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message,
    "信息提示");
    }
    }

    分享到:


    新手上路,大神指点!

    2012年8月24日 14:01

全部回复