锐化空间滤波用来增强细节或者边缘,常用的有拉普拉斯滤波和梯度滤波。
拉普拉斯滤波其实就是二维离散函数的二阶差分。因为任意一张图片可以看作是二维离散函数z=f(x,y),对其求二阶离散差分就能得到3 3的滤波窗口系数表,具体推理可以参考数字图像处理那本很经典的书籍。再用原图减去就得到了一张增强细节的图片了。
如果使用下列的系数那么得到的是用*原图减去拉普拉斯变换的增强细节的图片,
static double s_flapFactors[NEIGHBOUR_SIZE][NEIGHBOUR_SIZE] =
{
{-1, -1, -1},
{-1, 9, -1},
{-1, -1, -1},
};
梯度滤波则用到了方向变化率之类的知识,简而言之就是在哪个方向变化最快。梯度滤波没有精确的系数表示,一般用一些系数表示来近似。比如,
{-1, 0, 1},
{-2, 0, 2},
{-1, 0, 1}
就是用来增强左边缘的,还有,
{1, 0, -1},
{2, 0, -2},
{1, 0, -1},
{1, 2, 1},
{0, 0, 0},
{-1, -2, -1},
{-1, -2, -1},
{0, 0, 0},
{1, 2, 1}
都是用来增强其它方向的边缘,总共四个滤波系数窗口用来增强不同方向的边缘。
至于这些滤波的实现方法,只需要用这些滤波系数去调用我在上一篇文章给出的滤波公共函数即可。