分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

通俗的说:

膨胀算法使图像扩大一圈。
腐蚀算法使二值图像减小一圈。

腐蚀:删除对象边界的某些像素
膨胀:给图像中的对象边界添加像素

算法:


从图像处理角度看,二值图像的腐蚀和膨胀就是将一个小型二值图(结构元素,一般为3*3大小)在一个大的二值图上逐点移动并进行比较,根据比较的结果作出相应处理而已。

膨胀算法:用3X3的结构元素,扫描二值图像的每一个像素,用结构元素与其覆盖的二值图像做“与”运算,如果都为0,结构图像的该像素为0,否则为1.结果:使二值图像扩大一圈。

腐蚀算法:用3X3的结构元素,扫描二值图像的每一个像素,用结构元素与其覆盖的二值图像做“与”运算,如果都为1,结构图像的该像素为1,否则为0.结果:使二值图像减小一圈。

注意:

OpenCV里面的腐蚀膨胀都是针对 白色 目标区域的。

说,膨胀使图像 变大一圈, 那是指 图像中的 白色目标区域 扩大了一圈~~~~~~腐蚀,亦然。

====================================

代码:

#include <stdio.h>#include <cv.h>#include <highgui.h>#include <cvaux.h> //必须引此头文件

#pragma comment(lib, "cv.lib")#pragma comment(lib, "cxcore.lib")#pragma comment(lib, "highgui.lib")

int main( int argc, char** argv ){  IplImage *img = cvLoadImage("rice.png",0); if(img == NULL) {  printf("img load failed!\n");  return 0; } IplImage *img_erode = cvCreateImage(cvGetSize(img), 8, 1); IplImage *img_dilate = cvCreateImage(cvGetSize(img), 8, 1); cvErode( img,img_erode, NULL,1); //腐蚀 cvDilate( img,img_dilate, NULL,1); //膨胀 cvNamedWindow("img_erode"); cvNamedWindow("img_dilate"); cvShowImage("img_erode",img_erode); cvShowImage("img_dilate",img_dilate); cvWaitKey(-1); cvReleaseImage(&img_dilate); cvReleaseImage(&img_erode); cvDestroyAllWindows(); return 0;}图示:

附:

Dilate 使用任意结构元素膨胀图像

void cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );

src
输入图像.
dst
输出图像.
element
用于膨胀的结构元素。若为 NULL, 则使用 3×3 长方形的结构元素
iterations
膨胀的次数

对彩色图像,每个彩色通道单独处理。

Erode 使用任意结构元素腐蚀图像

void cvErode( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );

src
输入图像.
dst
输出图像.
element
用于腐蚀的结构元素。若为 NULL, 则使用 3×3 长方形的结构元素
iterations
腐蚀的次数

函数 cvErode 对输入图像使用指定的结构元素进行腐蚀,该结构元素决定每个具有最小值象素点的邻域形状:

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

OpenCV图像处理形态学操作腐蚀Erode与膨胀Dilate相关推荐

  1. python opencv 腐蚀_opencv 图像的腐蚀(erode)和膨胀(dilate) 开运算以及闭运算

    原文链接:opencv 图像的腐蚀(erode)和膨胀(dilate) 开运算以及闭运算 OpenCV---开闭操作 - 山上有风景 - 博客园 腐蚀 : 腐蚀操作会把前景物体的边缘腐蚀掉.原理是卷积 ...

  2. opencv 的形态学操作,cv2.erode,cv.dilate等。

    opencv 的形态学操作,cv2.erode,cv.dilate,cv2.morphologyEx的使用. 一.膨胀 cv2.erode(img, kernel_size) 函数参数, img是输入 ...

  3. 使用Python,OpenCV进行形态学操作

    使用Python,OpenCV进行形态学操作) 1. 效果图 2. 原理 3. 源码 3.1 [制作logo源码](https://blog.csdn.net/qq_40985985/article/ ...

  4. OpenCV通过形态学操作提取水平线和垂直线

    OpenCV通过形态学操作提取水平线和垂直线 通过形态学操作提取水平线和垂直线 目标 理论 形态学运算 结构元素 代码 说明/结果 载入图片 灰阶 灰度到二进制图像 输出图像 结构要素 优化边缘/结果 ...

  5. opencv —— morphology形态学操作函数讲解(python)

    opencv -- morphology形态学操作函数讲解 目录 opencv -- morphology形态学操作函数讲解 形态学滤波:morphologyEx 函数 开运算:先腐蚀后膨胀. 闭运算 ...

  6. 用openCV实现形态学操作

    尊师: © Fu Xianjun. All Rights Reserved. 老样子先进行把图片放入文件夹如何用openCV打开 形态学操作(移除噪声) 先使用开运算去除图像中的细小白色噪点,然后通过 ...

  7. OpenCV(六)形态学操作1--基础:膨胀与腐蚀(回调函数)

    目录 形态学通用API:morphologyEx 一.基础理论 1.邻接关系 (1)四邻接: (2)D邻接: (3) 八邻接: 2.连通性 (1)四连通: (2)八连通: (3)m连通: 3.形态学基 ...

  8. 【学习笔记】opencv的python接口 形态学操作 腐蚀 膨胀 通用形态学函数

    腐蚀 img=np.zeros((5,5),np.uint8) img[1:4,1:4]=1 kernel=np.ones((3,1),np.uint8) erosion=cv2.erode(img, ...

  9. 形态学操作——腐蚀与膨胀

    预备知识 结构元(SE) 1.结构元的中心一般来说是放在其重心位置处,但原则上原点的选择是依赖于你要解决的问题的. 2.对图像操作时,我们要求结构元是矩形阵列.(在结构元的基础上添加较少的背景元素实现 ...

最新文章

  1. java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式
  2. redis 数据库主从不一致问题解决方案
  3. Java输出流需要注意的几点细节
  4. 机器阅读(一)--整体概述
  5. linux python开发环境sql数据迁移到mysql_linux环境下python怎样操作mysql数据库
  6. javascript一些面试常用的问题总结
  7. 主题:ioctl函数详细说明
  8. 0x00D2DCAC 处(位于 Company.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000024 时发生访问冲突。
  9. matlab 去掉矩阵中某些元素,怎么修改矩阵中的某些元素 或者简单点说保留矩阵中的元素...
  10. 纬地道路纵断面设计教程_如何高效算量?市政道路从识图算量到施工工艺,一篇全搞定!...
  11. RFC2544吞吐量测试详细步骤-MiniSMB-HurricaneII软件操作演示
  12. 下载网页上的各种视频只需四步
  13. lux视频下载工具的安装和使用
  14. 马哈鱼数据血缘分析工具
  15. Android 如何获取运行内存和总运行内存等
  16. 古体字与简体字对照表_常用繁体字与简体字对照表
  17. Android肝帝战纪之基于上篇单Activity+多Fragment框架,开发电商式导航栏,多Fragment切换
  18. SQL查询语句——子查询
  19. 正则表达式-匹配横杠-本身
  20. 计算机能进入系统但是桌面不动,电脑开机进入桌面后卡住不动

热门文章

  1. css自动换行(转载)
  2. TVS管和稳压管两者比较
  3. Angularjs常见错误原因及解决Error: [$injector:unpr] http://errors.angularjs.org/1.2.9/$injector/unpr?
  4. P8198 [传智杯 #4 决赛] 背单词的小智 二分答案+前缀和
  5. php程序员的出路,php程序员有前途吗
  6. 统信桌面操作系统V20专业版(1021)发布:稳定又好用
  7. Android 内核源码编译记录
  8. Ubuntu 安装 php8.1
  9. 解决——U盘格式化为NTFs之后,显示不了U盘
  10. java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字