腐蚀:
  Erosion is the sister of dilation. It computes a local minimum over the area of given kernel.

膨胀:
  compute the maximal pixel value overlapped by B and replace the image pixel in the anchor point position with that maximal value.


代码示例

#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"using namespace cv;Mat src, erosion_dst, dilation_dst;int erosion_elem = 0;
int erosion_size = 0;
int dilation_elem = 0;
int dilation_size = 0;
int const max_elem = 2;
int const max_kernel_size = 21;void Erosion(int, void*);
void Dilation(int, void*);int main(int, char** argv)
{const char* filename = "../data/lena.jpg";src = imread(filename, IMREAD_COLOR);if (src.empty()){   return -1;}namedWindow("Erosion Demo", WINDOW_AUTOSIZE);namedWindow("Dilation Demo", WINDOW_AUTOSIZE);moveWindow("Dilation Demo", src.cols, 0);createTrackbar("Element", "Erosion Demo",                                   // 腐蚀方法&erosion_elem, max_elem, Erosion);createTrackbar("Kernel", "Erosion Demo",                                    // 腐蚀掩模大小&erosion_size, max_kernel_size, Erosion);   createTrackbar("Element", "Dilation Demo",                                  // 膨胀方法&dilation_elem, max_elem, Dilation);createTrackbar("Kernel", "Dilation Demo",                                   // 膨胀掩模大小&dilation_size, max_kernel_size, Dilation);Erosion(0, 0);Dilation(0, 0);waitKey(0);return 0;
}void Erosion(int, void*)
{int erosion_type = 0;if (erosion_elem == 0)      { erosion_type = MORPH_RECT; }else if (erosion_elem == 1) { erosion_type = MORPH_CROSS; }else if (erosion_elem == 2) { erosion_type = MORPH_ELLIPSE; }Mat element = getStructuringElement(erosion_type, Size(2 * erosion_size + 1, 2 * erosion_size + 1),   Point(erosion_size, erosion_size));erode(src, erosion_dst, element);                                           // 腐蚀imshow("Erosion Demo", erosion_dst);
}void Dilation(int, void*)
{int dilation_type = 0;if (dilation_elem == 0)      { dilation_type = MORPH_RECT; }            // 矩形else if (dilation_elem == 1) { dilation_type = MORPH_CROSS; }           // 十字型else if (dilation_elem == 2) { dilation_type = MORPH_ELLIPSE; }         // 椭圆Mat element = getStructuringElement(dilation_type, Size(2 * dilation_size + 1, 2 * dilation_size + 1), Point(dilation_size, dilation_size));dilate(src, dilation_dst, element);                                         // 膨胀imshow("Dilation Demo", dilation_dst);
}

运行结果


【OpenCV】腐蚀膨胀相关推荐

  1. matlab 腐蚀算法,【zz】matlab 腐蚀膨胀算法

    1.图像膨胀的Matlab实现: 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象.结构元素对象可以是strel函数返回的对象,也可 ...

  2. OpenCV腐蚀和膨胀Eroding and Dilating

    OpenCV腐蚀和膨胀Eroding and Dilating 腐蚀和膨胀Eroding and Dilating 目标 形态运算 膨胀 侵蚀 代码 解释 腐蚀功能 膨胀功能 结果 腐蚀和膨胀Erod ...

  3. OpenCV学习笔记(七):形态学morpholgy(1):腐蚀/膨胀:enrode(),dilate()

    OpenCV学习笔记(七):形态学(morpholgy):腐蚀/膨胀:enrode(),dilate() 数学形态学(Mathematical morphology) 是一门建立在格论和拓扑学基础之上 ...

  4. python opencv 图像膨胀

    python opencv 图像膨胀 代码: import cv2 import numpy as np # 图像膨胀 def dilate_img(img,a,iterations):kernel ...

  5. halcon区域腐蚀膨胀算子_OpenCV 图像处理之膨胀与腐蚀

    1.什么是膨胀与腐蚀 膨胀与腐蚀属于形态学范围,具体的含义根据字面意思来理解即可.但是更形象的话就是"增肥"与"减肥". 它们的用途就是用来处理图形问题上.总结 ...

  6. 图像的平滑滤波、边缘检测、阈值化、腐蚀膨胀等原理介绍

      一幅图像可以定义为一个二维函数f(x,y)f(x,y)f(x,y),其中xxx和yyy是空间/平面坐标,而在任何一对空间坐标(x,y)(x,y)(x,y)处的幅值fff称为图像在该点处的强度或灰度 ...

  7. C语言二值图的腐蚀膨胀及开闭运算

    (M2C系列)C语言二值图的形态学腐蚀膨胀及开闭运算 一.结构元 二.腐蚀 三.膨胀 四.开闭运算 五.其他 by HPC_ZY 由于剧情,需要纯C(不用三方库)实现图像算法.但作为一名MATLAB老 ...

  8. FPGA实现图像二值形态学滤波——腐蚀膨胀

    一.二值图像 二值图像(Binary Image)是指图像上的每一个像素只有两种可能的取值或灰度等级状态.简言之,在图像中灰度等级只有两种0或255(黑或白). 二.形态学 形态学,即数学形态学(Ma ...

  9. Open_CV形态学运算专题 (腐蚀膨胀、开闭运算、梯度运算、顶帽运算黑帽运算 )【Python-Open_CV系列(十)】

      Open_CV形态学运算专题 之 腐蚀&膨胀.开&闭运算.梯度运算.顶帽运算黑帽运算               [Python-Open_CV系列(十)]   文章目录 1. 腐 ...

  10. matlab膨胀检测,matlab腐蚀膨胀算法

    Matlab图像处理知识(四) ? 膨胀 ? 腐蚀 ? 开运算闭运算 ? 击中击不中 ? 结合进行图像预处理 膨胀 ? 原理:膨胀是在图像中"增长"或"变粗"的 ...

最新文章

  1. 在ASP.NET中指定出错页面,不让代码外泄!
  2. ExtJs6解决添加和修改Form共用一个form的隐藏域的id的取消传值
  3. Microsoft .NET Compact Framework 开发常见问题解答
  4. 重庆市计算机专业高考试题,今年重庆高校毕业生达21.1万人 计算机类专业需求大...
  5. webpack 语法
  6. iOS 采集音视频及写入文件
  7. ANSIBLE---变量
  8. 小白用python处理excel文件-Python读、写Excel文件(三种模块三种方式,小白也可学会)...
  9. 吴裕雄--天生自然 JAVASCRIPT开发学习:弹窗
  10. ESP8266—“ICACHE_FLASH_ATTR”宏——解释含义
  11. Linux下USB转串口的驱动【转】
  12. 机器人学导论学习笔记No.1-第一章 :概述
  13. Oracle 建表语句
  14. 三菱触摸屏u盘上传和下载_威纶通触摸屏U盘下载方法
  15. SDN(软件定义网络)简史-早期
  16. 前端提高篇(三十九)CSS进阶7:columns多列布局
  17. python堆叠柱状图加数字_Python 堆叠柱状图绘制方法
  18. 成功入园啦~ BoomShakalaka
  19. sourceinsight常用宏
  20. AE学习02:时间轴

热门文章

  1. 数据结构 7-0 查找
  2. PyTorch 学习笔记(五):Finetune和各层定制学习率
  3. 【基础数论】欧拉函数
  4. AI人工智能 / ML机器学习专业词汇集
  5. 最急救助(【CCF】NOI Online能力测试3 入门组)
  6. UnicodeDecodeError: 'utf8' codec can't decode byte 0xd1 in position 0: invalid continuation byte问题
  7. idea快速搭建spring cloud-注册中心与注册
  8. 初步了解hg19注释文件的内容 | gtf
  9. Entity Framework Codefirst的配置步骤
  10. 磁盘分区需要知道的概念