卷积滤波--小记


核大小、权重都在影响着卷积效果

卷积

用不同的卷积核对图像进行卷积,得出来的效果是不一样的。在高通平台调试噪声的时候会有flat、edge部分kernel的设置,虽然可以在不同的曝光值下根据色卡情况来自动计算Kernel数据,但是这些数据到底是什么意思呢?引起了一些思考。
我以为我很懂卷积,无非就是卷一卷滤一滤,舍弃一些信息,得到一些信息。还是太天真了。
在不涉及公式,只用matlab现成的函数来对比不同kernel和不同weight对图像的影响。

对比

核A定义每个元素对应的值
[ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 4 4 4 4 4 2 1 1 2 4 8 8 8 4 2 1 1 2 4 8 47 8 4 2 1 1 2 4 8 8 8 4 2 1 1 2 4 4 4 4 4 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 ] \begin{bmatrix} {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{2}&{2}&{2}&{2}&{2}&{2}&{2}&{1}\\ {1}&{2}&{4}&{4}&{4}&{4}&{4}&{2}&{1}\\ {1}&{2}&{4}&{8}&{8}&{8}&{4}&{2}&{1}\\ {1}&{2}&{4}&{8}&{47}&{8}&{4}&{2}&{1}\\ {1}&{2}&{4}&{8}&{8}&{8}&{4}&{2}&{1}\\ {1}&{2}&{4}&{4}&{4}&{4}&{4}&{2}&{1}\\ {1}&{2}&{2}&{2}&{2}&{2}&{2}&{2}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ \end{bmatrix} 1111111111222222211244444211248884211248478421124888421124444421122222221111111111
那么对应的卷积核如下所示:
F i l t e r = 1 s u m A × A Filter=\frac{1}{sumA}\times A Filter=sumA1×A
核B定义每个元素对应的值
[ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 4 4 4 4 4 2 1 1 2 4 8 8 8 4 2 1 1 2 4 8 16 8 4 2 1 1 2 4 8 8 8 4 2 1 1 2 4 4 4 4 4 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 ] \begin{bmatrix} {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{2}&{2}&{2}&{2}&{2}&{2}&{2}&{1}\\ {1}&{2}&{4}&{4}&{4}&{4}&{4}&{2}&{1}\\ {1}&{2}&{4}&{8}&{8}&{8}&{4}&{2}&{1}\\ {1}&{2}&{4}&{8}&{16}&{8}&{4}&{2}&{1}\\ {1}&{2}&{4}&{8}&{8}&{8}&{4}&{2}&{1}\\ {1}&{2}&{4}&{4}&{4}&{4}&{4}&{2}&{1}\\ {1}&{2}&{2}&{2}&{2}&{2}&{2}&{2}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ \end{bmatrix} 1111111111222222211244444211248884211248168421124888421124444421122222221111111111
那么对应的卷积核如下所示:
F i l t e r = 1 s u m B × B Filter=\frac{1}{sumB}\times B Filter=sumB1×B

相同大小,不同中心大小

A、B相对应的卷积核中心权重不一样,对图像I进行卷积,得到卷积后的图像,并进行频率分析。

clc;
clear all;
I = imread('C:\Matlab\1.jpg');
I = rgb2gray(I);
I = double(I(1:500,1:1080));
a = ones(9, 9);
b = ones(7, 7);
c = 2*ones(5, 5);
d = 4*ones(3, 3);
b1 = padarray(b, [1, 1]);
c1 = padarray(c, [2, 2]);
d1 = padarray(d, [3, 3]);
e = a + b1 + c1+ d1;
e(5,5)=47;
sum1 = sum(e(:));
e = (1/sum1)*e;   %卷积核A
flat_con = conv2(I,e, 'same');
err1 = I-flat_con;
flat2 = fft2(flat_con);
flat21 = abs(fftshift(flat2));
flat3 = fft2(err1);
flat31 = abs(fftshift(flat3));
figure;
subplot(431),image(I), title('orignal');
subplot(432),image(flat_con),title('conv');
subplot(433),image(err1),title('orignal-conv');
subplot(434),image(f11),title('orignal fft') ;
subplot(435),image(flat21),title('conv fft');
subplot(436),image(flat31), title('orignal-conv fft');

a = ones(9, 9);
b = ones(7, 7);
c = 2*ones(5, 5);
d = 4*ones(3, 3);
b1 = padarray(b, [1, 1]);
c1 = padarray(c, [2, 2]);
d1 = padarray(d, [3, 3]);
e = a + b1 + c1+ d1;
e(5,5)=16;
sum1 = sum(e(:));
e = (1/sum1)*e; %卷积核A
edge_con = conv2(I,e, 'same');
err2 = I-edge_con;
edge2 = fft2(edge_con);
edge21 = abs(fftshift(edge2));
edge3 = fft2(err2);
edge31 = abs(fftshift(edge3));
subplot(437),image(I),title('orignal');
subplot(438),image(edge_con),title('conv');
subplot(439),image(err2),title('orignal fft');
subplot(4,3,10),image(f11),title('conv fft');
subplot(4,3,11),image(edge21),title('conv fft');
subplot(4,3,12),image(edge31),title('orignal-conv fft');

通过卷积滤波得到相应的对比图,
A中心元素的权重大,相应的可以留下一定的高频信息。B的中心权重相对较小,也就意味着中心和四周相差不大,卷积的过程中更多的可以使图像更加平滑。
图1是A卷积后的原图,卷积后图,以及两者的差值;
图1
图2是B卷积后的原图,卷积后图,两者之间的差值;
图2
分开看似乎看不来二者之间的联系,所以接下来对两幅图进行频率分析:
图3是A的傅里叶变换结果,图4是B的傅里叶变化结果,我们可以从中间看到,频率发生了很大的变化。B可以去掉很多高频信息,A相对的留下了高频信息。
图3
图4

不同大小,相同中心大小

核的大小分别为9、5、3:
核C定义每个元素对应的值
[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] \begin{bmatrix} {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{16}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}&{1}\\ \end{bmatrix} 1111111111111111111111111111111111111111161111111111111111111111111111111111111111

核D定义每个元素对应的值
[ 1 1 1 1 1 1 1 1 1 1 1 1 16 1 1 1 1 1 1 1 1 1 1 1 1 ] \begin{bmatrix} {1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{16}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}\\ {1}&{1}&{1}&{1}&{1}\\ \end{bmatrix} 11111111111116111111111111

核E定义每个元素对应的值
[ 1 1 1 1 16 1 1 1 1 ] \begin{bmatrix} {1}&{1}&{1}\\ {1}&{16}&{1}\\ {1}&{1}&{1}\\ \end{bmatrix} 1111161111
三个不同大小的卷积核卷积后,核越大,滤掉的信息越多,从9、7、5、3中心权重占比越大,留下的信息越多。
核C对应的频率和卷积图:
图5

核D对应的频率和卷积图:
图6
核E对应的频率和卷积图:
图7

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值