python+opencv之边缘填充
一、边缘填充
相信很多喜欢玩电脑的小伙伴,遇到过这种情况:有时候换电脑壁纸的时候,原本一张很好看完整的图片,换成电脑壁纸就是一个不完整或者由很多重复的图片组成的壁纸。其实这里就有填充的出现。
边缘填充:因为对于图像的卷积操作,最边缘的像素一般无法处理,所以卷积核中心到不了最边缘像素。这就需要先将图像的边界填充,再根据不同的填充算法进行卷积操作,得到的新图像就是填充后的图像。
二、边缘填充函数原型
函数原型:cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value)
src:需要填充的图像
top:图像上面填充边界的长度
bottom:图像上下面填充边界的长度
left:图像左面填充边界的长度
right :图像右面填充边界的长度
borderType:边界的类型
BORDER_REPLICATE:复制法,即复制最边缘的像素。例如:aaaa|abcdefg|ggggg
BORDER_REFLECT:反射法,即以最边缘的像素为对称轴。例如:fedcba|abcdefg|gfedec
BORDER_REFLECT_101:反射法,也是最边缘的像素为对称轴,但与BORDER_REFLECT有区别。例如:fedcb|abcdefg|fedec
BORDER_WRAP:外包装法,即以图像的左边界与右边界相连,上下边界相连。例如:cdefgh|abcdefgh|abcdefg
BORDER_CONSTANT: