[Halcon&图像] 形态学处理(腐蚀、膨胀、开运算、闭运算)

简介: [Halcon&图像] 形态学处理(腐蚀、膨胀、开运算、闭运算)

一. 前言

       一般图像处理是针对图像做形状的改变,而形态学处理则是对图像进行结构性的改变,而常见的形态学处理就是使用结构元素对二值化图像(图像中的任何像素灰度值不是0就是255)进行处理,包括膨胀(Dilation)、腐蚀(Erosion)、开运算(先腐蚀再膨胀)、闭运算(先膨胀再腐蚀),所以在形态学处理前需要将图像二值化。如果对灰度图进行膨胀、腐蚀等,则会起到增强图像对比度的效果。

  1. 结构元的中心一般来说是放在其重心位置处,但原则上原点的选择是依赖于你要解决的问题的;
  2. 对图像操作时,我们要求结构元是矩形阵列。(在结构元的基础上添加较少的背景元素实现);
  3. 当结构元的中心位于原图像的边界时,要对原图像进行膨胀或腐蚀操作;

       不管是膨胀还是腐蚀,本质都是使用一个结构元素来逐个像素地扫描要被处理的二值化图像,并根据结构元素和待处理的二值化图像关系来确定膨胀或腐蚀结果。


二. 理论

1、膨胀(dilation、dilation_rectangle1、dilation_circle)-增加像素:

       把结构元素B的中心元素(origin)扫描图像的每一个像素,用结构元素与其覆盖的二值图像做平移并集操作,即二值图像的与结构元素B重合部分只要有黑色(0),则结构元素B中心元素(origin)所在的图像位置就置黑色(0);


       如图所示:左边是需要被处理的二值图像,中间是结构元素B,右边是膨胀处理之后的图像。膨胀的方法是:使用结构元素B从左到右,从上到下滑动遍历图像,只要结构元素B上的黑点与二值图像X上的黑点有重合,则就将结构元素B的中心点所在位置的图像像素值置为黑;右边是膨胀后的结果。

2、腐蚀(erosion、erosion_rectangle1、erosion_circle)-减少像素:

      把结构元素B的中心元素(origin)扫描图像的每一个像素,用结构元素与其覆盖的二值图像做平移交集操作,即结构元素与其覆盖的二值图像的重合部分全都为黑色(0),则结构元素的中心点所在的二值图像灰度值才为黑色(0);换而言之,两者重合部分只要有白色(1)则结构元素的中心点所在的二值图像灰度值就为白色(1)。

      如图所示:左边是被处理的图像X(二值图像,我们针对的是黑点),中间是结构元素B,那个标有origin的点是中心点,即当前处理元素的位置。腐蚀的方法是:拿结构元素B的中心点在X上从左到右,从上到下滑动,如果结构元素B与二值图像X有空白交集,则将B的中心点所在的二值图像黑点去掉(变为白—1)。


目录
相关文章
|
存储 Cloud Native Linux
OpenCV 图像像素运算操作
OpenCV 图像像素运算操作
|
计算机视觉
OpenCV-顶帽运算(TOPHAT)
OpenCV-顶帽运算(TOPHAT)
189 0
|
7月前
|
计算机视觉 Python
OpenCV形态学运算中梯度运算、顶帽、黑帽运算讲解与实战应用(附Python源码)
OpenCV形态学运算中梯度运算、顶帽、黑帽运算讲解与实战应用(附Python源码)
210 0
|
计算机视觉
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
769 0
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
|
7月前
|
算法 API 计算机视觉
OpenCV(图像处理)-基于Python-形态学处理-开运算、闭运算、顶帽、黑帽运算
1. 形态学 OpenCV形态学是一种基于OpenCV库的数字图像处理技术,主要用于处理图像的形状、结构和空间关系。它包括一系列图像处理工具和算法,包括膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽、黑帽等。
141 0
|
7月前
|
API 计算机视觉
【OpenCV】形态学滤波(2):开运算、形态学梯度、顶帽、黑帽
【OpenCV】形态学滤波(2):开运算、形态学梯度、顶帽、黑帽
|
7月前
|
编解码 计算机视觉 C++
【OpenCV】—形态学滤波(1):腐蚀与膨胀
【OpenCV】—形态学滤波(1):腐蚀与膨胀
|
计算机视觉 Python
08 OpenCV腐蚀、膨胀与形态学运算
腐蚀操作是一种形态学操作,它用于缩小二值图像中的对象,并去除图像中的噪声和细节。其基本原理是将图像中的每个像素与内核进行比较,如果内核覆盖的区域内所有像素值都为非零值,则该像素保持不变;否则,该像素的值会被更新为 0 00,从而实现缩小图像中的对象。腐蚀操作的效果通常与内核的大小、形状以及迭代次数有关,通过适当选择这些参数,可以实现不同程度的腐蚀效果。
|
C++ 计算机视觉
【OpenCv • c++】形态学技术操作 —— 开运算与闭运算
【OpenCv • c++】形态学技术操作 —— 开运算与闭运算
486 0
|
C++ 计算机视觉
【OpenCv • c++】形态学技术操作 —— 腐蚀与膨胀
【OpenCv • c++】形态学技术操作 —— 腐蚀与膨胀
450 0