9 OpenCV中的形态学

OpenCV中的形态学

什么是形态学

  • 基于图像形态进行处理的一些基本方法
  • 这些处理方法基本是对二进制图像进行处理
  • 卷积核决定图像处理后的效果

形态学图像处理

腐蚀和膨胀 开运算 闭运算
顶帽 黑帽

图像的二值化

将图像的每个像素变为两种值 0,255
全局二值化
局部二值化(光线不好)
api:
threshold(img, thresh, maxVal, type)
超过thresh的值变为maxVal或者相反

自适应阈值二值化
自适应计算阈值是多少(光线问题)
adaptiveMethod
计算方法:
ADAPTIVE_THRESH_MEAN_C 计算邻近区域的平均值
ADAPTIVE_THRESH_GAUSSIAN_C 高斯窗口加权平均

OpenCV腐蚀

作用

消除物体的边界点,使边界向内收缩,可以把小于结构元素的物体去除。可将两个有细小连通的物体分开。该方法可以用来去除毛刺,小凸起等。如果两个物体间有细小的连通,当结构足够大时,可以将两个物体分开。

api

k = np.ones((5, 5), np.uint8)
img = cv2.erode(img, k, iterations=1)

获取形态学卷积核

getStructuringElement(type, size)

OpenCV膨胀

dilate(img, kernel, iteration=1)

开运算

先腐蚀 再膨胀(外面有噪点,大块图形外面的小图形)
morpholopyEx(img, MORPH_OPEN, kernel)

闭运算

先膨胀 再腐蚀 (里面有噪点, 大块图形里面的小图形)
morpholopyEx(img, MORPH_CLOSE, kernel)

形态学梯度

原图-腐蚀后的图,获得边沿
morpholopyEx(img, MORPH_GRADIENT, kernel)

顶帽运算

原图-开运算(剩下大图形外面的噪点)
morpholopyEx(img, MORPH_TOPHAT, kernel)

黑帽运算

原图-闭运算(剩下大图形中的小噪点)
morpholopyEx(img, MORPH_BLACKHAT, kernel)

posted @ 2025-11-25 15:26  林A青  阅读(0)  评论(0)    收藏  举报