前言

1.在OpenCV滤波和卷积算法中,在进行核运算的过程时候,矩阵边界拓展是一个非常重要的处理,OpenCV提供的函数copyMakeBorder()来拓展边界。
2.我的系统环境是Linux,加Qt creator,OpenCV的版本是3.30。

边界拓展

1.函数原型

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

参数说明:
src:输入的数组。
dst:输出的拓展边界后的数组。
top:在src上边界向上拓展的行数。
bottom:在src下边界向下拓展的行数。
left:在src的左边界向左拓展的列数。
right:在src的右边界向右拓展的列数。
borderType:扩充边缘的类型,OpenCV中给出以下几种方式:

  • BORDER_REPLICATE
  • BORDER_REFLECT
  • BORDER_REFLECT_101
  • BORDER_WRAP
  • BORDER_CONSTANT

value:使用的是BORDER_CONSTANT的时候,此处是指边界处填写的常数值。
2.代码演示

void addFrame(Mat &src, Mat &dst)
{if(src.empty()){return;}int extRows = 80;int extCols = 80;copyMakeBorder(src, dst, extRows, extRows, extCols, extCols, BORDER_REPLICATE);
}

为了更好的体现效果,我在原图的位置加了外接矩形。
BORDER_REPLICATE:复制边缘像素扩展边界

BORDER_REFLECT:通过镜像复制扩展边界


BORDER_CONSTANT:使用常量扩展边界

BORDER_WRAP:复制对边像素扩展边界

OpenCV图像处理使用笔记(五)——图像边界拓展相关推荐

  1. OpenCV图像处理使用笔记(六)——图像滤波

    前言 1.图像滤波也叫图像模糊,是平滑图像像素常用处理的方式,通常是为了达到减少图像噪声和伪影,或者降低图像分辨率,OpenCV提供了常用的五种图像模糊操作. 2.我的这里演示的系统环境是Linux, ...

  2. OpenCV图像处理使用笔记(四)——图像融合

    前言常用 1.在OpenCV中定义了好多函数用来操作图像矩阵,有两个矩阵相加的,相减的,混合的,下面我使用QT加OpenCV演示图像融合这个函数. 2.我的IDE是Qt creator,OpenCV的 ...

  3. OpenCV图像处理(7)——图像上写TEXT

    在图像上写字 /* 参数说明: 1.输入输出图像 2.需要写的字符 3.文字的左上角坐标 4.字体 5.标准字体的放大倍数(越大,字体越大) 6... 7... */ putText(copySrc, ...

  4. 【OpenCV图像处理】十五、图像空域滤波(上)

    1.空域滤波介绍 空域滤波是一种邻域处理方法,通过直接在图像空间中对邻域内像素进行处理,达到平滑或锐化图像的作用.此外,在图像识别中,通过滤波还可以抽出图像的特征作为图像识别的特征模式. 空域滤波是图 ...

  5. 《OpenCv视觉之眼》Python图像处理十六:Opencv图像处理实战一之图像中的硬币检测

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  6. [Python图像处理] 二十五.图像特效处理之素描、怀旧、光照、流年以及滤镜特效

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  7. OpenCV图像处理(14)—— 图像转视频

    引言 有个项目,需要将osg生成的批量图像转成视频:特点是,图像自带编号,类似于: Ir_Scene_339.jpg 的格式. 操作中,使用OpenCV自带的video函数完成. void Image ...

  8. 以窗口形式进行数字图像处理时,在图像边界处对超出图像边界的窗口内容的映射(对称)处理

    在数字图像处理时,我们经常会以窗口的形式进行相关的运算,如滤波处理,而在图像边界处,窗口可能太大以至于超出边界,这时候我们可以做一个映射(对称)处理,来补齐窗口中超出图像边界的部分.如下图,窗口大小是 ...

  9. OpenCV图像处理使用笔记(二)——图像矩阵的掩膜操作

    前言 1.数字图像处理中的掩膜的概念是起源于于PCB制版的过程,在半导体制造中,许多芯片工艺步骤采用光刻技术,用于这些步骤的图形"底片"称为掩膜(也称作"掩模" ...

最新文章

  1. Python 列表前加 *号
  2. Java黑皮书课后题第5章:5.12(求满足n方>12000的n的最小值)使用while循环找出满足n方大于12000的最小整数n
  3. redis生产环境持久化_在SageMaker上安装持久性Julia环境
  4. 边缘化搭建DotNet Core 2.1 自动化构建和部署环境(上)
  5. 禁止logback输出状态信息
  6. 具体案例 快速原型模型_3D打印机器人手板模型,低成本快速原型打样
  7. 标准模板库(STL)之 map 列传 (二)
  8. JavaScript学习——JavaScript 循环
  9. jQuery实现彩色云标签
  10. 模式识别之特征提取算法
  11. C#即时通讯客户端源码【源码免费分享】
  12. Android同步时出错,Android Studio中的Gradle给出错误项目同步失败
  13. php 微信授权 跨域,微信公众号支付 请求跳转code跨域
  14. 2022-2028年全球与中国各向异性导电胶行业市场前瞻与投资战略规划分析
  15. 下载网易云音乐的MV
  16. 稳定排序与不稳定排序方法
  17. ERTEC200P-2 PROFINET设备完全开发手册(目录)
  18. 今天推荐一下网友张迪的博客
  19. PCIE TLP报文
  20. Workbook corruption: seen[2] == 4

热门文章

  1. 实用VUE 开发插件!!前端必备
  2. 高中数学?_JAVA
  3. sdutoj-3837-素数链表
  4. 【ros】4.rosbag的相关用法
  5. Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
  6. 深入理解Java类型信息(Class对象)与反射机制
  7. ClassPool CtClass浅析
  8. 关于Java中try-catch-finally-return的执行顺序
  9. python list列表排序的两种方法及实例讲解
  10. vim在每行行首或行尾添加/删除内容