公式:
卷积的性质:
- Linearity: filter(f1 + f2) = filter(f1) + filter(f2)
- Shift invariance: same behavior regardless of pixel location: filter(shift(f)) = shift(filter(f))
卷积运算规律:
- Commutative: a * b = b * a
- Conceptually no difference between filter and signal
- Associative: a * (b * c) = (a * b) * c
- Often apply several filters one after another: (((a * b1) * b2) * b3)
- This is equivalent to applying one filter: a * (b1 * b2 * b3)
- Distributes over addition: a * (b + c) = (a * b) + (a * c)
- Scalars factor out: ka * b = a * kb = k (a * b)
- Identity: unit impulse e = […, 0, 0, 1, 0, 0, …], a * e = a
高斯滤波器
特性:
- 去除图像中高频率的部分
- 高斯滤波与自身卷积的结果仍为高斯滤波:重复做高斯滤波的结果等同于更大的。
- 多维的可离散为更低维度的:可以降低复杂度
噪声noise
中值滤波
对椒盐噪声的处理效果更好。
MATLAB函数
filter2(g, f, shape)
- shape = ‘full’ | ‘same’ | ‘valid’
卷积时,补零会产生黑边轮廓,所以有时候采取周期|外圈复制|对称插取的方法。
imfilter(f, g, filtering mode)
- clip filter (black): imfilter(f, g, 0)
- wrap around: imfilter(f, g, ‘circular’)
- copy edge: imfilter(f, g, ‘replicate’)
- reflect across edge: imfilter(f, g, ‘symmetric’)
medfilt2(image, [h w])