概述

通过一个特定的结构元素 膨胀 一个图像。

  • 图像膨胀的过程类似于一个卷积的过程,源图像矩阵A以及结构元素B,B在A矩阵上依次移动,每个位置上B所覆盖元素的最大值替换B的中心位置值(即锚点处),完成整个膨胀的过程。
  • 算法通俗理解:其运算过程就是用3X3的结构元素,扫描二值图像的每一个像素,用结构元素与其覆盖的二值图像做“与”运算,如果都为0,结构图像的该像素为0,否则为1。结果就是使二值图像扩大一圈。
  • 函数支持就地模式,腐蚀操作可以迭加使用多次,在多通道图像的情况下,每个通道独立处理。

函数

void cv::dilate
(InputArray     src,OutputArray     dst,InputArray      kernel,Point    anchor = Point(-1,-1),int  iterations = 1,int     borderType = BORDER_CONSTANT,const Scalar &    borderValue = morphologyDefaultBorderValue()
)   
src 源图像
dst 输出图像
kernel

用于膨胀的结构元素

● 如果元素=Mat(),则使用3 x 3矩形结构元素。

● 可以使用getStructuringElement创建内核。

anchor 结构元素的锚点位置(默认值(-1,-1)表示锚位于元素中心)
iterations 膨胀操作的迭代次数
borderType 图像边框扩展模式(可查阅BorderTypes,但不支持BORDER_WRAP)
borderValue 恒定边界的边界值

测试代码

#include "widget.h"
#include "ui_widget.h"#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>using namespace cv;Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//载入图像Mat src = imread("c:/opencv/star.jpg");//显示imshow("src",src);//自定义核Mat element = getStructuringElement(MORPH_ELLIPSE,Size(5,5));//输出对象Mat dst;//膨胀dilate(src,dst,element);//显示imshow("dst",dst);}Widget::~Widget()
{delete ui;
}

测试结果

如图所示,星星 圆润 了许多。

参考

OPenCV膨胀函数dilate()的使用

Qt-OpenCV学习笔记--图像的膨胀--dilate()相关推荐

  1. QT+opencv学习笔记(5)——霍夫直线检测、圆检测及椭圆检测

    开发环境为:win10+QT5.8+opencv3.2 Hough变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛.最基本的Hough变换是从黑白图像中检测直线,还可以经过改进检测圆.椭 ...

  2. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  3. Opencv学习笔记——图像伪色彩增强

    以下均为github上opencv的个人学习笔记,原路径如下: https://github.com/JimmyHHua/opencv_tutorials 源码示例: import cv2 as cv ...

  4. Opencv学习笔记——图像基本操作

    文章目录 前言 一.数据读取-图像 1.读取图像 2.读取部分图像 二.数据读取-视频 三.颜色通道提取 四.边界填充 五.数值计算 六.图像融合 前言 先说一些图像的基本知识: (1)图像由像素构成 ...

  5. Qt+openCV学习笔记(五)Qt5.15.2+openCV4.5.4+VS2019_64编译动态库

    前言 opencv官方只提供基本的库,若是用到其他库,需要自己编译.通常只要编译自己需要的模块就可以了,本次编译过程可供大家参考 本次编译的,是未带CUDA加速的版本 假设Qt.VS2019已正常安装 ...

  6. opencv学习笔记——图像

    图像 读入图像 全英文路径下图像的读取: retval = cv2.imread(文件名[,显示控制参数]) 含中文路径下图像的读取: retval = cv2.imdecode(np.fromfil ...

  7. Opencv学习笔记 图像特效 简单铅笔/卡通/马赛克/毛玻璃/Lomography/简单磨皮等效果

    一.铅笔画滤镜 铅笔画滤镜主要是提取出图片中梯度比较高的部分,也就是边缘检测 二.卡通画特效 卡通画特效主要由三部分组成 1.提取图像中轮廓 => edges 2.使用bilateral 滤波在 ...

  8. Opencv学习笔记 图像清晰度评价

    一.计算laplacian绝对值的方差 1.参考代码1 # import the necessary packages from imutils import paths import argpars ...

  9. opencv学习笔记12:图像腐蚀和图像膨胀

    语言:python+opencv 为什么使用图像腐蚀和图像膨胀 如图,使用图像腐蚀进行去噪,但是为压缩噪声. 对腐蚀过的图像,进行膨胀处理,可以去除噪声,并保持原样形状. 图像腐蚀 腐蚀主要针对的是二 ...

最新文章

  1. JAVA一个项目的路径为_java 得到项目路径
  2. sql分类及基本sql操作,校对规则(mysql学习笔记二)
  3. Error running tomcat8 Address localhost:1099 is already in use 错误解决
  4. vue.js 常见面试题_使用Vue.js时应避免的常见错误
  5. 相同布局在不同手机上显示不同_React Native布局详细指南
  6. GO语言打包ICO图标
  7. Django开发利器——django-debug-toolbar
  8. 微型计算机与接口技术总结,微机原理与接口技术课程总结
  9. java郝斌_Java入门学习笔记-郝斌
  10. android 罗盘陀螺仪,电子罗盘和陀螺仪的区别以及工作原理介绍
  11. 查找整数c语言程序,查找整数(示例代码)
  12. 使用Golang计算网络IP地址的CIDR
  13. STM32软件模拟IIC---读写驱动AT24Cxx
  14. 百度人脸识别API调用实现
  15. 常用的一些伺服电机参数
  16. Python爬取猫眼评分9.5的《海王》的3万条评论
  17. 达人评测 n5095和i3 10110u选哪个
  18. 矩阵乘+概率DP bzoj2676 Contra
  19. springboot项目使用advice做统一返回
  20. 安卓手机使用termux搭建centos7个人博客服务器

热门文章

  1. 硬件电路设计纯纯小白-1-单片机晶振
  2. openstack的逻辑概念_精通openstack学习笔记(一)
  3. 微信小程序 刮刮卡效果
  4. 导轨安装式压力应变电桥信号隔离放大变送器 -10mV/0-20mV/0-±10mV/0-±20mV 等差分电压信号输入 国际标准信号 0-5V/0-10V/4-20mA输出
  5. R语言 使用regsubsets等函数进行回归模型的选择
  6. 各取所需:Microsoft Windows XP with sp3 十五种语言的MSDN原版光盘镜像
  7. 2014计算机应用基础试题及答案,2014年计算机应用基础试题及答案.doc
  8. 联想服务器查看报警信息,求教联想万全2000服务器总是报警
  9. 百度知道推广敏感词汇总
  10. 能力整合、品牌升级,一大朵紫光云正在到达战场