形态学之腐蚀操作

2021-10-22  本文已影响0人  大龙10

《OpenCV轻松入门:面向Python》读书笔记
作者:李立宗
出版社:电子工业出版社
出版时间:2019-05

第8章 形态学操作

  形态学,即数学形态学(Mathematical Morphology),是图像处理过程中一个非常重要的研究方向。
  形态学主要从图像内提取分量信息,该分量信息通常对于表达和描绘图像的形状具有重要意义,通常是图像理解时所使用的最本质的形状特征。
  例如,在识别手写数字时,能够通过形态学运算得到其骨架信息,在具体识别时,仅针对其骨架进行运算即可。形态学处理在视觉检测、文字识别、医学图像处理、图像压缩编码等领域都有非常重要的应用。

  形态学操作主要包含:

  腐蚀操作和膨胀操作是形态学运算的基础,将腐蚀和膨胀操作进行结合,就可以实现开运算、闭运算、形态学梯度运算、顶帽运算、黑帽运算、击中击不中等不同形式的运算。

8.1 腐蚀

8.1.1 定义

  腐蚀是最基本的形态学操作之一,它能够将图像的边界点消除,使图像沿着边界向内收缩,也可以将小于指定结构体元素的部分去除。
  腐蚀用来“收缩”或者“细化”二值图像中的前景,借此实现去除噪声、元素分割等功能。例如,在图8-1中,左图是原始图像,右图是对其腐蚀的处理结果。

图8-1 腐蚀示例

  在腐蚀过程中,通常使用一个结构元来逐个像素地扫描要被腐蚀的图像,并根据结构元和被腐蚀图像的关系来确定腐蚀结果。

8.1.2 函数

在OpenCV中,使用函数cv2.erode()实现腐蚀操作,其语法格式为:

dst=cv2.erode(src,kernel)

式中:

8.1.3 程序示例

【例8.2】使用函数cv2.erode()完成图像腐蚀。

import cv2
import numpy as np
o=cv2.imread("erode.bmp",cv2.IMREAD_UNCHANGED)
kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(o,kernel)
cv2.imshow("orriginal",o)
cv2.imshow("erosion",erosion)
cv2.waitKey()
cv2.destroyAllWindows()

8.1.4 结果

图8-6 腐蚀结果
上一篇下一篇

猜你喜欢

热点阅读