Advertisement

什么是卷积呢

阅读量:
复制代码
    话不多说,首先我先上一张动图!
这里写图片描述

这幅图展示的就是一个二维卷积的过程,也就是一般二维图像的滤波过程。
首先左边的55的绿色区域代表的是待卷积对象,这里理解为一幅图像的一个维度,例如灰度图就是图像的灰度值,RGB彩色图就是RGB中的某一个通道;中间在移动的黄色区域是卷积核(注意右下角的红字才是卷积核的一部分,中间的黑字是属于绿色原图的,不信你看卷积核在移动的时候中间的黑字是不变的);右边的粉红区域是卷积后的图(因为它也是33的可不要理解为它跟卷积核一样大小,其实它的大小是原图的大小减去步长2,这里的步长是1,也就是每次移动一格,所以卷积后的大小就是5-12=3),仔细观察发现卷积核每动一下右边就会增加一格数字,而且增加的方向和卷积核移动的方向一致,就像意大利足球队的后防线一样整齐。那么我们就来讲讲这里具体是怎么计算的。
卷积实际上是一个先乘后加的过程,卷积核扫过的区域都进行一次对位点乘再求和,比方说从第一步开始,原图左上角九个数字分别是
1 1 1
0 1 1
0 0 1
而卷积核一直是
1 0 1
0 1 0
1 0 1
那么对位相乘就是
11 10 11
0
0 11 10
01 00 11
求和就是
1 + 0 + 1 +
0 + 1 + 0 +
0 + 0 + 1 = 4
就此,第一个卷积后的数算出来了,就是4,此时卷积核向右移动,步长是1就移动一格,计算第一排第二个数,同样的规则,1
1+00+01+10+01+00+11+10+11=3
以此类推,卷积核可以横竖各三个区域,也就是9个区域,所以最终的卷积结果是33的一幅图。
其实图像处理里的滤波操作不仅仅只有卷积,卷积是一个点乘求和的过程,而滤波有一些是非线性的,比如中值滤波就是求原图被卷积区域的中位数,例如
1 3 5
7 6 2
3 8 3
经过一次3
3的中值滤波结果就是3,因为9个数的中位数就是第5大的数,也就是3了。
亲们可以自己试试步长为2的结果,看看最后出来的图像大小是多少。

全部评论 (0)

还没有任何评论哟~