Opencv笔记(十)——卷积基础

卷积

        什么是二维卷积呢?看下面一张图就一目了然:


        卷积就是循环对图像跟一个核逐个元素相乘再求和得到另外一副图像的操作,比如结果图中第一个元素5是怎么算的呢?原图中3×3的区域与3×3的核逐个元素相乘再相加:1×1 + 2×0 + 1×0 + 0×0 + 1×0 + 1×0 + 3×0 + 0×0 + 2×2 = 5。算完之后,整个框再往右移一步继续计算,横向计算完后,再往下移一步继续计算……

padding

        不难发现,用3×3的核对一副6×6的图像进行卷积,得到的是4×4的图,图片缩小了!那怎么办呢?我们可以把原图扩充一圈,再卷积,这个操作叫padding。

        事实上,原图为n×n,卷积核为f×f,最终结果图大小为(n-f+1) × (n-f+1)

        那么扩展的这一层应该填充什么值呢?OpenCV中有好几种填充方式,都使用cv2.copyMakeBorder()函数实现,上面博客中已经写过。





posted @ 2018-07-13 20:41  龙~白  阅读(255)  评论(0编辑  收藏  举报