1 Laplacian算子
拉普拉斯算子是各向同性线性算子,二元函数f(x,y)的拉普拉斯变换定义为:
基本高通滤波模板中所有系数的和为0,如果在模板所覆盖的区域内像素的灰度值都相同或者灰度值的变化较为缓慢.则模板的输出为0或输出很小。人们常用的高通提升滤波方法,就是将原图像乘以一个放大因子A,再减去低通滤波图像。高通提升滤波可以表示为:
高通提升滤波图像=A×原图像-低通滤波图像=(A-1)×原图像+原图像-低通滤波图像=(A-1)×原图像+高通滤波图像
即:
式中:当A=1时,高通提升滤波就是基本的高通滤波;当A>1时,部分原图像被加到高通滤波的结果上,这就恢复了部分高通滤波中丢失的低频成分。因此,经过高通提升滤波的图像与原图像更加相像,同时又对图像的边缘进行了增强。
进行模板卷积的主要步骤为:
(1)将模板在图中漫游,并将模板中心与图中某个像素位置重合;
(2)将模板上系数与模板下对应像素相乘;
(3)将所有乘积相加;
(4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。
当模板遍历图像中的每个像素就得到图像滤波结果。实现Laplacian高通提升滤波的模板如图1所示。
文献[2]的实验证明,使用图1(a)所示掩模能得到更好的锐化效果,所以在硬件实现时使用该掩模。实验中取A=1。
2 Laplacian算子的硬件实现及结果
使用Laplacian算子滤波是将模板与图像做卷积运算,然后将得到的结果取绝对值后,再进行防治溢出(灰度值大于255)处理。所以在用硬件实现Laplacian算子时可分成三个步骤:构造模板;使用模板对图像进行卷积运算;对卷积后的结果做后处理。
2.1 硬件数据缓存模块
要想得到3×3的方形模板窗,需要使用数据缓存器,在该设计中,调用宏功能模块中的Shift register功能模块就能实现这一功能,十分方便。
Shift register功能模块,是一个可配置的具有抽头(taps)输出的移位寄存器,可实现功能如图2(b)所示。
以处理大小为256×256的8位灰度图像为例进行讨论。在对移位寄存器进行配置时,shiftin,shiftout设置为8位,3个抽头。相邻两个抽头相距256。为了方便控制,还需要为该模块添加时钟控制信号,如图2(a)所示。