图像处理中的神奇的卷积核
图像处理中常常需要用一个滤波器做空间滤波操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、窗口等。线性滤波则通常是:将模版覆盖区域内的元素,以模版中对应位置元素为权值,进行累加。看起来挺简单的,但是要区分相关(cross-correlation)和卷积(convolution)两种模式。
卷积需要先翻转后叠加,而相关则不需要,事实上如果我们使用的卷积核是对称的,则运算结果是一样的。
不同的卷积核会产生奇妙的变化:
1、
0 0 0
0 1 0
0 0 0
这个卷积核有点类似信号处理当中的单位冲击响应,它与图像卷积,图像不变。
close;
clear all;
a = imread('office_4.jpg');
w1 = [0 0 0;0 1 0;0 0 0];
f1 = imfilter(a,w1,'replicate');
subplot(1,2,1),imshow(a);title('原始图像');
subplot(1,2,2),imshow(f1);title('卷积后的图像');
2、图像锐化滤波器Sharpness Filter
图像的锐化和边缘检测很像,首先找到边缘,然后把边缘加到原来的图像上面,这样
就强化了图像的边缘,使图像看起来更加锐利了。这两者操作统一起来就是锐化滤波器。
a = imread('office_4.jpg');
w1 = -1*ones(3,3);w1(2,2) = 9;
w2 = -1*ones(3,3);w2(2,2) = 8;
f1 = imfilter(a,w1,'replicate');
f2 = imfilter(a,w2,'replicate');
subplot(1,3,1),imshow(a);title('原始图像');
subplot(1,3,2),imshow(f1);title('卷积后的图像(中心元素为9)');
subplot(1,3,3),imshow(f2);title('卷积后的图像(中心元素为8)');
第二幅图像还保持彩色,但是第三幅就变为黑色,这是因为,第二幅的卷积核的中间值权重比周围权重之和还大1,因此它依然保持
了以前的状态。
3、均值滤波
w1 =
0.1250 0.1250 0.1250
0.1250 0 0.1250
0.1250 0.1250 0.1250
经过均值处理,图像会变模糊,这个卷积核可以对抗噪声,但是它牺牲了图像整体的边缘的清晰度。