热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

opencv学习(六)pading之copyMakeBorder函数

卷积操作时,边界可以填充或者不填充,如果我们需要填充呢?opencv提供了copyMakeBorder函数,可以实现边界填充功能我们来看函数原型CV_EXPORTS_Wvoid

卷积操作时,边界可以填充或者不填充,如果我们需要填充呢?opencv提供了copyMakeBorder函数,可以实现边界填充功能

我们来看函数原型

CV_EXPORTS_W void copyMakeBorder(InputArray src, OutputArray dst,int top, int bottom, int left, int right,int borderType, const Scalar& value = Scalar() );

nputArray src:输入图像

OutputArray dst:输出的图像

int top, int bottom, int left, int right:表示对边界每个方向添加的像素个数,就是边框的粗细程度

int borderType:表示边界的类型

value:边界的值

有下面几种类型:

borderType:扩充边缘的类型,就是外插的类型,OpenCV中给出以下几种方式

  * BORDER_REPLICATE            重复:  就是对边界像素进行复制
 * BORDER_REFLECT               反射:对感兴趣的图像中的像素在两边进行复制例如:fedcba|abcdefgh|hgfedcb    反射
 * BORDER_REFLECT_101       反射101: 例子:gfedcb|abcdefgh|gfedcba
 * BORDER_WRAP                   外包装:cdefgh|abcdefgh|abcdefg
 * BORDER_CONSTANT           常量复制:例子:iiiiii|abcdefgh|iiiiiii

const Scalar& value=Scalar():表示如果边界的类型是 BORDER_CONSTANT  ,那么边界的颜色值;

用法如下:

Mat extendedImage;copyMakeBorder(srcImage, extendedImage, kernelSize / 2, kernelSize / 2, kernelSize / 2, kernelSize / 2, 0);namedWindow("Display Image");imshow("Display Image",extendedImage);

参考博客:

copyMakeBorder函数
OpenCV:copyMakeBorder的用法

推荐阅读
author-avatar
只为-娱乐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有