OpenCV 扩充图像边界copyMakeBorder 函数解释

在图像处理过程中,因为卷积算子有一定大小,所以就会导致图像一定范围的边界不能被处理,这时就需要将边界进行适当扩充。

copyMakeBorder(InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar& value=Scalar());
*src,输入图像,即原图像,填 Mat 类的对象即可。
*dst,输出图像,和原图像有一样的深度,size = Size(src.cols + left +right, src.rows + top + bottom);
*top,bottom,left,right,分别表示在原图像的四个方向上扩充多少像素。
*borderType,边界类型。
--- BORDER_REPLICATE:复制法,复制最边缘像素,填充扩充的边界。中值滤波就采用这种            方法。
     aaaaaa | abcdefgh | hhhhhhh
---BORDER_REFLECT_101:对称法,以最边缘像素为轴,对称填充。filter2D, blur, GaussianBlur, bilateralFilter 边界处理的默认方法。
       gfedcb | abcdefgh | gfedcba
---BORDER_CONSTANT:以一个常量像素值【参数 value 】填充扩充的边界。这种方式在仿射变换,透视变换中非常常见。
          iiiiii | abcdefgh | iiiiiii  
---BORDER_REFLECT: 和对称法原理一致,不过连最边缘像素也要对称过去。
           fedcba | abcdefgh | hgfedcb 
---BORDER_WRAP:用另一侧元素来填充这一侧的扩充边界。
     cdefgh | abcdefgh | abcdefg 
*value,默认值为 0,当 borderType 取值为 BORDER_CONSTANT 时,这个参数表示边界值。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值