扩充图像边界:copyMakeBorder 函数

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

void 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 时,这个参数表示边界值。

借鉴博客:https://blog.csdn.net/chezhai/article/details/53229699

最新文章

  1. 【转】JavaScript顶级对象参考模型
  2. android 使用WebView 支持播放优酷视频,土豆视频
  3. 演出排期JavaScript
  4. android开发之使用拼音搜索汉字
  5. 多校 4686 Arc of Dream hdu 矩阵解
  6. (一个)kafka-jstorm集群实时日志分析 它 ---------kafka实时日志处理
  7. Spring源码解析一:IOC容器设计
  8. 三种读取HashMap的方式
  9. spark2的编译
  10. spring 完成multipart数据上传
  11. 从Perforce到Git的迁移
  12. [开发技巧]·Numpy中对axis的理解与应用
  13. JAVA进阶18
  14. JS数组的基本操作方法
  15. centos6.5mini版安装及配置
  16. C#操作Exchange配置
  17. luogu P4781 【模板】拉格朗日插值
  18. CF718C Sasha and Array 线段树+矩阵加速
  19. list转map
  20. 判别式模型 vs. 生成式模型

热门文章

  1. 安装node,vue编译环境
  2. VS Code 1.42 发布!2020 年首个大更新
  3. python中线程共享资源问题的解决
  4. 如何优雅的将Mybatis日志中的Preparing与Parameters转换为可执行SQL
  5. 关于将笔记本电脑作为wifi热点的详细步骤
  6. codeforces 1020 C Elections(枚举+贪心)
  7. Mysql设置创建时间字段和更新时间字段自动获取时间,填充时间
  8. 创建一个JavaWeb工程
  9. vue路由核心要点(vue-router)
  10. windows socket ipv6 SOCK_RAW