opencv 对图像进行卷积

卷积

什么是二维卷积呢?看下面一张图就一目了然:
图解卷积过程
卷积就是循环对图像跟一个核逐个元素相乘再求和得到另外一副图像的操作,比如结果图中第一个元素5是怎么算的呢?原图中3×3的区域与3×3的核逐个元素相乘再相加:
5=1×1+2×0+1×0+0×0+1×0+1×0+3×0+0×0+2×2
算完之后,整个框再往右移一步继续计算,横向计算完后,再往下移一步继续计算。
简而言之,卷积是一个对应位置像素值相乘后再相加的操作。
不难发现,前面我们用3×3的核对一副6×6的图像进行卷积,得到的是4×4的图,图片缩小了!那怎么办呢?我们可以把原图扩充一圈,再卷积,这个操作叫填充padding。

padding(边缘填充)

图像卷积后大小可参考 卷积和反卷积后图像大小

图解padding
那么扩展的这一层应该填充什么值呢?OpenCV中有好几种填充方式,都使用 cv.copyMakeBorder() 函数实现,一起来看看。

cv.copyMakeBorder() 参数讲解
src:要处理的原图
top, bottom, left, right:上下左右要扩展的像素数
borderType:边框类型,这个就是需要关注的填充方式。其中默认方式和固定值方式最常用

边缘填充方式

固定值填充

顾名思义,cv.BORDER_CONSTANT 这种方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值