图形学之腐蚀膨胀

2024-08-31 21:48
文章标签 膨胀 图形学 腐蚀

本文主要是介绍图形学之腐蚀膨胀,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

腐蚀(erode)膨胀(dilate)其实是两种非常形象的操作,但是有的时候容易搞混淆。

  1. 腐蚀(erode),是将灰度值小(视觉上就是比较暗)的区域增强扩展,主要用来去除比较亮的噪点。
  2. 膨胀(dilate),是将灰度值大(视觉上就是比较亮)的区域增强扩展,主要用来连通相似颜色或强度的区域。

然后腐蚀与膨胀涉及的一个重要概念就是核,也可以称之为模板或者掩码。核具有几个重要的属性,形状(圆形、方形、十字架甚至椭圆),大小(3x3,5x5等)以及参考点。多数情况下,模板比较简单的是一个圆形,大小3x3,参考点在圆心。如下图所示:
这里写图片描述
不同的腐蚀与膨胀算法,本质的区别在于核的设计,如果你的核设计与你的图像场景以及相关目的比较吻合时,效果也许就会好。

具体机理其实很简单,拿腐蚀来说(因为膨胀就是腐蚀的对偶操作,两者流程本质上没有区别)。你确定好核以后,就与原图像进行卷积。原图像的每个像元的灰度值等于,以该像元为参考点,核所覆盖的范围内,所有像元的灰度最小值,这样就完成了腐蚀操作。膨胀操作就是取最大值。

所以腐蚀膨胀的内容很简单,下面主要讲一讲opencv中提到的cvMorphologyEx()这个函数。该函数主要针对的是灰度或者彩色图像。cvMorphologyEx(const CvArr* src,CvArr* dst,CvArr* temp, IplConvKernel* element, int operation,int iterations=1)的函数原型是这样,其中的operation涉及到了5中运算,分别是开运算,闭运算,形态梯度,礼帽,黑帽。下面我主要说说这几种的具体含义,顺便利用opencv实现一下,看看具体效果。

开运算与闭运算:

两种就是膨胀腐蚀的连接。

  1. 开运算先进行腐蚀再进行膨胀,主要是可以消除高于其邻近点的孤立点。下图就可以看出
    这里写图片描述
  2. 闭运算先进行膨胀再进行腐蚀,主要是可以消除低于其邻近点的孤立点。下图就可以看出
    这里写图片描述

形态学梯度:

这个主要运用与灰度图,公式就是利用膨胀结果与腐蚀结果做差,得到最终的结果。形态学梯度会将图像中灰度值变化最剧烈的区域凸显出来(也就是边缘会更加凸显)。
这里写图片描述

礼帽和黑帽:

  1. 礼帽,是原图像减去开运算的结果。开运算,前面说过是可以消除高于其邻近点的孤立点,也就是可以放大局部低亮度区域,原图像减去开运算就会分割出局部亮度极大点。
    这里写图片描述
  2. 黑帽,是闭运算减去原图像。闭运算,前面说过是可以消除低于其邻近点的孤立点,也就是可以放大局部高亮度区域,闭运算减去原图像就可以分割出局部较暗区域。
    这里写图片描述

这篇关于图形学之腐蚀膨胀的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125079

相关文章

1-8 图像腐蚀 opencv树莓派4B 入门系列笔记

目录 一、提前准备 二、代码详解 kernel=np.ones((2,2),np.uint8) _, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY) eroded_image=cv2.erode(binary_image,kernel,iterations=1) eroded_image2=cv2.ero

1-9 图像膨胀 opencv树莓派4B 入门系列笔记

目录 一、提前准备 二、代码详解 kernel = np.ones((3, 3), np.uint8) _, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY) dilated_image = cv2.dilate(binary_image, kernel, iterations=1) 三、运行现象 四

《OpenCV计算机视觉》—— 图像形态学(腐蚀、膨胀等)

文章目录 一、图像形态学基本概念二、基本运算1.简单介绍2.代码实现 三、高级运算1.简单介绍2.代码实现 一、图像形态学基本概念 图像形态学是图像处理科学的一个独立分支,它基于集合论和数学形态学的理论,专门用于分析和处理图像中的形状和结构。图像形态学处理主要关注的是二值图像(黑白图像或是灰度图),其基本思想是用具有一定形态特征的结构元素去量度和提取图像中的对应形状,以实现图像

Postgresql表和索引占用空间回收释放(表空间膨胀)

Postgresql表和索引占用空间回收释放(表空间膨胀) -- 1.创建测试表t_usercreate table if not exists t_user(id serial primary key,user_name varchar(255),pass_word varchar(255),create_time date,dr char(1));create index ind_ti

matlab自编腐蚀算法,区域增长

1 自实现腐蚀操作 temp1 = ImgMask;se = strel('disk',4);temp1 = imerode(temp1, se);imtool(temp1)temp2 = temp2.*label;temp2 = ImgMask;my_strel = double(se.Neighborhood);R = floor(size(my_strel,1)/2);la

【电子通识】可靠性机理之电偶腐蚀

什么是电偶腐蚀         电偶腐蚀也叫以异金属腐蚀或接触腐蚀,是指两种不同电化学性质的材料在与周围环境介质构成回路时,电位较正的金属腐蚀速率减缓,而电位较负的金属腐蚀加速的现象。构成这种现象的原因是这两种材料间存在着电位差,形成了宏观腐蚀原电池。         例如,用铁铆钉联结的铜板在潮湿的空气中会发生接触腐蚀,铁为阳极,发生溶解而被腐蚀;碳钢和铜相接触,在同一电解液中组成的电偶,使

图像处理(计算机图形学)和计算机视觉的区别和关系

随着工业互联网的发展,图片处理(计算机图形学)和计算机视觉的应用越来越多,两者有区别也有紧密联系,在此进行简单介绍,共同学习。 图像处理(计算机图形学): 是对输入的图像做某种变换,输出仍然是图像,基本不涉及或者很少涉及图像内容的分析。比较典型的有图像变换,图像增强,图像去噪,图像压缩,图像恢复,二值图像处理等等。基于阈值的图像分割也属于图像处理的范畴。它一般处理的是单幅图像。 计算机视觉:

图像处理中的腐蚀与膨胀算法详解

引言 在图像处理领域,形态学操作(Morphological Operations)是处理二值图像的重要工具。腐蚀(Erosion)和膨胀(Dilation)是形态学操作的两种基本形式,它们常用于消除噪声、分割图像、提取形状等任务。本篇博客将详细介绍这两种操作的原理、实现方法以及应用场景。 1. 什么是腐蚀与膨胀? 腐蚀和膨胀是图像形态学操作中的基本操作。它们主要作用于二值图像(即黑白图像)

图像腐蚀和膨胀

图像腐蚀和膨胀的具体含义请参考:http://blog.csdn.net/u013066730/article/details/53610081 例如: 1.对图像腐蚀 originalBW = imread('circles.png');   se = strel('disk',11);        %se的选取方法有很多种,具体可参考http:/