Matlab的fspecial不锐利的掩码使用拉普拉斯内核来实现图像的锐化。拉普拉斯如何用于USM锐化?
据我所知,图像需要先模糊,然后从原始图像中减去模糊图像,以获得更清晰的图像。拉普拉斯的部分正好在所谓的平滑应该发生的地方。如果我错了,请纠正我,但拉普拉斯不做平滑处理。
那么拉普拉斯如何帮助锐化图像呢?
Matlab的fspecial不锐利的掩码使用拉普拉斯内核来实现图像的锐化。拉普拉斯如何用于USM锐化?
据我所知,图像需要先模糊,然后从原始图像中减去模糊图像,以获得更清晰的图像。拉普拉斯的部分正好在所谓的平滑应该发生的地方。如果我错了,请纠正我,但拉普拉斯不做平滑处理。
那么拉普拉斯如何帮助锐化图像呢?
这是取自:http://www.imagemet.com/WebHelp/spip.htm#hid_filters_edge_enhancement.htm
它解释很好拉普拉斯滤波器)
拉普拉斯滤波器本身从其它边缘增强分离 过滤器,因为它使用的是有关 二阶导数的信息通过差分方程在图像中的强度变化。
正在发生的事情是,中心像素的差异与每个周围的像素取 ,然后取平均值。在边缘,这个差分将会很大,而在其他地方它将会很小,只会在出现尖锐差分或边缘的地方留下高光。在离散域中,连续拉普拉斯算子的最简单近似是计算沿着每个轴的斜率的差值。
拉普拉斯算子可以在二维平面上被定义为:
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)
这四邻居拉普拉斯可以产生以下 内核:
有不同的方法来锐化图像。
一种方法是从原始图像中减去图像的模糊版本。这被称为unsharp masking。这是你描述的方法。
使用拉普拉斯算子是一种完全不同的方法。拉普拉斯用于突出边缘。 Smash已经很好地描述了它的内部工作原理,所以我不会在这里进一步讨论。
其他方法包括deconvolution,focus stacking和others。在这方面有相当多的研究,所以如果您采用更先进的方法,请查看Google学术搜索。人们选择使用的方法通常取决于问题和任何相关限制。
这很清楚。但为什么在派生之前和之后添加0行/列? – nkint