1. //名称:膨胀
  2. //日期:12月21日
  3. //平台:QT5.7.1+opencv3.2.0
  4. /* 膨胀(dilate)的含义:
  5. 膨胀就是求局部最大值的操作,就是将图像(或图像的一部分,A)与核 B 进行卷积
  6. 膨胀是对白色部分(高亮部分)而言的,不是黑色部分。
  7. 膨胀将图像中的高亮部分进行膨胀,类似于“领域扩张”,效果图拥有比原图更大的高亮区域 */
  8.  
  9. /*膨胀核心API函数:
  10. 函数原型:
  11. void dilate(InputArray src,OutputArray dst,InputArray kernel,
  12. Point anchor=Point(-1,-1),int iterations=1,
  13. int borderType = BORDER_CONSTANT,
  14. const Scalar& borderValue=morphologyDefaultBorderValue()
  15. );
  16.  
  17. 参数详解:
  18. InputArray src-----输入图像
  19. OutputArray dst------目标图像,需要和源图片有一样的尺寸和类型
  20. InputArray kernel------膨胀操作的核,为NULL时,表示使用参考点位于中心3x3的核
  21. Point anchor---Point类型的anchor,锚的位置,默认值(-1,,1),表示锚位于中心
  22. int borderType---用于推断图像外部像素的某种边界模式,有默认BORDER_CONSTANT
  23. 最后一个参数一般不用去管它。
  24. */
  25. /*注:
  26. 使用dilate函数,一般只需要填前面三个参数,后面四个参数有默认值
  27. 结合getStructuringElement函数,该函数参数有:
  28. 第一个参数:表示内核的形状(MORPH_RECT:矩形
  29. MORPH_CROSS:圆形
  30. MORPH_ ELLIPSE:椭圆形)
  31. 第二个参数:表示内核的尺寸 (形如:Size(15,15))
  32. 第三个参数:锚点的位置 (默认值(-1,,1))
  33. */
  34.  
  35. /*********新建QT控制台程序 ***********/
  36. #include <QCoreApplication>
  37. #include <opencv2/core/core.hpp>
  38. #include <opencv2/highgui/highgui.hpp>
  39. #include <opencv2/imgproc/imgproc.hpp>
  40. #include <iostream>
  41. using namespace std;
  42. using namespace cv;
  43.  
  44. int main()
  45. {
  46. Mat srcImage = imread("/home/ttwang/Valley_logo.jpg");//读入原图
  47.  
  48. namedWindow("膨胀操作[原图]");
  49. namedWindow("膨胀操作[效果图]");
  50.  
  51. imshow("膨胀操作[原图]",srcImage);
  52. //获取自定义核
  53. Mat element = getStructuringElement(MORPH_RECT,Size(,));
  54. Mat dstImage;
  55. //进行膨胀操作
  56. dilate(srcImage,dstImage,element);
  57. //显示效果图
  58. imshow("膨胀操作[效果图]",dstImage);
  59.  
  60. waitKey();
  61. return ;
  62. }

  1. 膨胀操作【原图】 膨胀操作【效果图】

opencv3.2.0形态学滤波之膨胀的更多相关文章

  1. opencv3.2.0形态学滤波之形态学梯度、顶帽、黑帽

    /*一.形态学梯度 (1)含义:是膨胀图和腐蚀图之差 (2)数学表达式:dst=morph-grad(src,element) =dilate(src,element) - erode(src,ele ...

  2. opencv3.2.0形态学滤波之开运算、闭运算

    /* 一.开运算: (1)开运算,其实就是先腐蚀后膨胀的过程. (2)数学表达式:dst = open(src,element) = dilate(erode(src,element)) (3)作用: ...

  3. opencv3.2.0形态学滤波之腐蚀

    /* 腐蚀(erode)含义: 腐蚀和膨胀是相反的一对操作,所以腐蚀就是求局部最小值的操作,腐蚀操作使原图中 国的高亮部分被腐蚀,效果图比原图有更小的高亮的区域. 腐蚀函数原型API及参数同膨胀相同 ...

  4. opencv 4 图像处理(2 形态学滤波:腐蚀与膨胀,开运算、闭运算、形态学梯度、顶帽、黑帽)

    腐蚀与膨胀 膨胀(求局部最大值)(dilate函数) #include <opencv2/core/core.hpp> #include <opencv2/highgui/highg ...

  5. [PCL]点云渐进形态学滤波

    PCL支持点云的形态学滤波,四种操作:侵蚀.膨胀.开(先侵蚀后膨胀).闭(先膨胀后侵蚀) 在#include <pcl/filters/morphological_filter.h>中定义 ...

  6. 学习 opencv---(1) opencv3.1.0 组件结构浅析

    本系列是根据 浅墨大神 的opencv系列而写的,,应该大部分内容会一样..如有侵权还请告知........... 开发环境:win7 + VS2013 + opencv3.1.0 至于OpenCV组 ...

  7. OpenCV学习笔记(一)——OpenCV3.1.0+VS2015开发环境配置

    摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...

  8. centos 安装 opencv-3.1.0

    官方安装教程 http://docs.opencv.org/3.1.0/d9/d52/tutorial_java_dev_intro.html#gsc.tab=0 注意要先安装jdk和apache a ...

  9. ORBSLAM2与OPENCV3.1.0出错解决办法

    用opencv3.1.0做ORBSLAM2运行一下命令时cd ORB_SLAM2 chmod +x build.sh ./build.sh出错:/usr/bin/ld: CMakeFiles/mono ...

随机推荐

  1. 浅谈Express的put与del

    假设有一个景区价格列表页,显示当前的价目表. 价目表存放在express应用的数组中: var tours = [ {id:0,name:'Hood River',price:99.99}, {id: ...

  2. iOS---GCD的三种常见用法

    1.一次性代码:dispatch_once 有时候,有些代码在程序中只要被执行一次. 整个程序运行过程中,只会执行一次. - (void)viewDidLoad { [super viewDidLoa ...

  3. UIDevice currentDevice model possible values

    NOTE: The below code may not contain all device's string, I'm with other guys are maintaining the sa ...

  4. POJ 1089

    #include <iostream> #include <algorithm> #define MAXN 50005 using namespace std; struct ...

  5. 14-hadoop-运行的2种方式

    hadoop的程序运行有, 具体有3种, 除了上一篇(http://www.cnblogs.com/wenbronk/p/6662119.html)提过的直接发布jar上传到hadoop以外, 还有本 ...

  6. Linux-(touch,cat,nl,more|less,head|tail)

    touch命令 1.命令格式: touch [选项]... 文件... 2.命令参数: -a   或--time=atime或--time=access或--time=use  只更改存取时间. -c ...

  7. 蝴蝶效应--由'sudo -s ...'引发的vim autocmd使用异常

    1. 背景介绍 自加入RedHat起,我就把家里的台式机(Ubuntu 16.04 LTS)的默认登录用户veli切换成了huanli, 主要是为了跟公司的电脑配置对齐以方便未来WFH,但引发了一个v ...

  8. grafana安装

    1 wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.4-1.x86_64.rpm2 sudo ...

  9. c# 键值对照表

    虚拟键值表 虚拟键 十六进制值 十进制值 相应键盘或鼠标键 VK_LBUTTON 1 1 鼠标左键 VK_RBUTTON 2 2 鼠标右键 VK_CANCEL 3 3 Ctrl-Break键 VK_M ...

  10. 消息管理-activemq

    1.ConnectionFactory("tcp://192.168.1.103:61616/"); 本机地址192.168.1.103 也 可以是localhost 消息的生产者 ...