2011-11-24 109 views
1

Matlab的fspecial不锐利的掩码使用拉普拉斯内核来实现图像的锐化。拉普拉斯如何用于USM锐化?

据我所知,图像需要先模糊,然后从原始图像中减去模糊图像,以获得更清晰的图像。拉普拉斯的部分正好在所谓的平滑应该发生的地方。如果我错了,请纠正我,但拉普拉斯不做平滑处理。

那么拉普拉斯如何帮助锐化图像呢?

回答

4

这是取自:http://www.imagemet.com/WebHelp/spip.htm#hid_filters_edge_enhancement.htm

它解释很好拉普拉斯滤波器)

拉普拉斯滤波器本身从其它边缘增强分离 过滤器,因为它使用的是有关 二阶导数的信息通过差分方程在图像中的强度变化。

正在发生的事情是,中心像素的差异与每个周围的像素取 ,然后取平均值。在边缘,这个差分将会很大,而在其他地方它将会很小,只会在出现尖锐差分或边缘的地方留下高光。在离散域中,连续拉普拉斯算子的最简单近似是计算沿着每个轴的斜率的差值。

enter image description here

拉普拉斯算子可以在二维平面上被定义为:

2D(X,Y)=¶2 I(X,Y)/¶2×+¶2 I

L(X,Y)= - I(X-1,Y)-I(:(X,Y)/¶2 Y

在离散情况下,它是由4相连接栅格为近似x + 1,y)-I(x,y-1)-I(x,y + 1)+ 4I(x,y)

这四邻居拉普拉斯可以产生以下 内核:

images\ebx_-1416619947.gif

+0

这很清楚。但为什么在派生之前和之后添加0行/列? – nkint

0

有不同的方法来锐化图像。

一种方法是从原始图像中减去图像的模糊版本。这被称为unsharp masking。这是你描述的方法。

使用拉普拉斯算子是一种完全不同的方法。拉普拉斯用于突出边缘。 Smash已经很好地描述了它的内部工作原理,所以我不会在这里进一步讨论。

其他方法包括deconvolution,focus stackingothers。在这方面有相当多的研究,所以如果您采用更先进的方法,请查看Google学术搜索。人们选择使用的方法通常取决于问题和任何相关限制。