形态学处理《python图像处理基础篇》
引言:首先说一下形态学处理在图像处理过程中的作用:在进行图像二值化处理之后,会存在许多带有干扰噪声的小点,而在这种情况下,形态学处理的作用就发挥到关键作用,能够秒杀一切孤立的小点。但与此同时在二值化、边缘化操作之后、会存在某些点、线断裂情况,而此时形态学处理中的膨胀处理起到了关键作用。
首先是数据库导入: import cv2 1.首先就是原图像加载、灰度化、二值化。 代码: 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 欢迎和小伙伴梦一起学习,共同努力,加油!!!
