引言:首先说一下形态学处理在图像处理过程中的作用:在进行图像二值化处理之后,会存在许多带有干扰噪声的小点,而在这种情况下,形态学处理的作用就发挥到关键作用,能够秒杀一切孤立的小点。但与此同时在二值化、边缘化操作之后、会存在某些点、线断裂情况,而此时形态学处理中的膨胀处理起到了关键作用。
首先是数据库导入:
import cv21.首先就是原图像加载、灰度化、二值化。
代码:
path2='../img/cat1.png' img=cv2.imread(path2) gray=cv2.cvtColor(img,cv2.COLOR_RGB2GRAY) res,thresh=cv2.threshold(gray,0,255,cv2.THRESH_OTSU) #大津阈值分割 cv2.imshow('tu',thresh) cv2.waitKey(0)图像显示:
二值化图像
3.形态学中的腐蚀操作。
代码:
kernel=(5,5) erode=cv2.erode(thresh,kernel,iterations=3)#腐蚀图像显示:
腐蚀操作
4.膨胀:
代码:
dilata=cv2.dilate(erode,kernel,iterations=2)#膨胀效果:
膨胀处理
5.开运算:
代码:
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel,iterations=2) #先腐蚀后膨胀图像显示:
开运算
6.闭运算:
代码:
closing = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel,iterations=2)#线膨胀后腐蚀效果展示:
闭运算
7.梯度运算;
代码:
geadient = cv2.morphologyEx(thresh, cv2.MORPH_GRADIENT, kernel,iterations=2)#梯度效果显示:
梯度效果
8. 顶帽变换:
代码:
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel,iterations=2) #顶帽变换效果展示:
顶帽变换
9.黑帽变换
代码:
backhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel,iterations=2) #黑帽变换效果展示:
黑帽变换
10.结束:
GAME OVER
如果理解错误,欢迎大家批评,及时纠正小琼的错误哦,真心感谢你的纠正!!!
如果小伙伴梦有疑问欢迎在评论区留言哦!!!
如果感觉不错的话!点个赞呗,不用客气!(O(∩_∩)O哈哈~)
欢迎和小伙伴梦一起学习,共同努力,加油!!!



