数字图像处理复习记录(二)邻接、连通和形态学处理

本文介绍了数字图像处理中的邻接、连通概念,包括4-邻域、8-邻域和m-邻接。接着详细讲解了形态学处理,如膨胀、腐蚀、开闭操作,以及击中与击不中变换(HMT)。通过实例展示了这些操作对图像的影响,如边界提取、区域填充和连通分量提取。
摘要由CSDN通过智能技术生成

本篇文章作为数字图像处理的笔记记录,内容大量参考CSDN中的相关帖子、冈萨雷斯《数字图像处理》第三版以及老师上课所用课件。

邻域、邻接和连通

象素的邻域反应了象素间的基本关系,常见邻域包含4-邻域(N4),对角邻域(ND)和8-邻域(N8)。下图表示了常见的邻域关系。
在这里插入图片描述邻域仅考虑象素间的空间关系,而两个象素是否邻接,判断标准是其是否相互接触(邻域)、灰度值是否满足某个特定的相似准则(同在一个灰度值集合中取值,注意是灰度值集合而非灰度差集合)。根据邻域的定义,我们很容易得到4-邻接8-邻接关系。但8邻接中存在多路歧义性,为消除这种性质,我们引入m-邻接
m-邻接又称为混合邻接,其要求2个象素值r、p在某灰度值集合V中,且满足下列条件之一:r在p的4-邻域中;r在p的对角邻域中,且p的4-邻域和r的4-邻域交集为空。举例如下图:
在这里插入图片描述
如图b所示,两个象素属于m-邻接关系;而图c所示的两个标色象素不属于m-邻接,这是因为它们的4-邻域相交了。
两个象素的邻接是连通的一种特例,很容易理解连通的概念;通路由若干依次邻接的独立象素组成。根据邻接关系可定义4-通路8-通路

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
形态学图像处理是一种基于数学形态学原理的图像处理方法,可以用于图像的特征提取、边缘检测、形状分析等。在Python,有多种库可以进行形态学图像处理,如OpenCV和scikit-image。 在OpenCV,可以使用cv2.morphologyEx函数进行形态学图像处理。其,可以使用cv2.MORPH_GRADIENT参数来进行形态学梯度操作,即膨胀图与腐蚀图之差。下面是一个使用OpenCV进行形态学梯度操作的示例代码: ```python import numpy as np import cv2 # 读取输入图像 img = cv2.imread('g1.png') # 定义卷积核 kernel = np.ones((6,6), dtype="uint8")/9 # 进行形态学梯度操作 gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel) # 保存结果图像 cv2.imwrite('gradient.jpg', gradient) ``` 另外,scikit-image库也提供了一些形态学图像处理的函数。可以使用skimage.morphology模块的函数进行膨胀、腐蚀等操作。下面是一个使用scikit-image进行膨胀与腐蚀操作的示例代码: ```python from skimage.morphology import erosion, dilation from skimage.morphology import square from skimage.color import rgb2gray from skimage.io import imread # 读取输入图像并转为灰度图像 im = imread('zebras.jpg', as_gray=True) # 进行腐蚀操作 selem = square(5) eroded = erosion(im, selem) # 进行膨胀操作 dilated = dilation(im, selem) ``` 以上是使用OpenCV和scikit-image库进行形态学图像处理的示例代码,你可以根据自己的需求选择合适的库和函数进行图像处理
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值