先上个简单的示例,看MATLAB中拉普拉斯滤波器是如何实现的:
令原图f=magic(3)
f =
8 1 6
3 5 7
4 9 2
掩膜采用标准Laplacian掩膜:w=fspecial('laplacian',0)
w =
0 1 0
1 -4 1
0 1 0
n=imfilter(f,w,'replicate');默认参数为'same',结果为:
n =
-12 16 -4
8 0 -8
4 -16 12
采用'full'参数,n=imfilter(f,w,'replicate','full');结果为:
n =
0 -7 12 -5 0
-5 -12 16 -4 1
6 8 0 -8 -6
-1 4 -16 12 5
0 5 -12 7 0
=========
实现过程:
①模板旋转180度(和原来一样,因为是对称的模板)
w' =
0 1 0
1 -4 1
0 1 0
②图像边界填充,这里采用'replicate'方式:
>> k=padarray(m,[2 2],&