图像卷积滤波的基本原理:
一个二维的滤波器矩阵(也就是卷积核)和一个要处理的二维图像;对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值,这样就完成了滤波过程。
不难发现,用3×3的核对一副6×6的图像进行卷积,得到的是4×4的图,图片缩小了!那怎么办呢?我们可以把原图扩充一圈,再卷积,这个操作叫padding。
事实上,原图为n×n,卷积核为f×f,最终结果图大小为(n-f+1) × (n-f+1)
cv2.copyMakeBorder()
用来给图片添加边框,它有下面几个参数:
- src:要处理的原图
- top, bottom, left, right:上下左右要扩展的像素数
- borderType:边框类型,这个就是需要关注的填充方式,详情请参考: