OpenCV 形态学处理

Sue ·
更新时间:2024-11-13
· 661 次阅读

形态学主要处理二值图像(0黑1白)。

图像腐蚀 概念
在这里插入图片描述 原理
在这里插入图片描述 函数 erode kernel = np.ones((5,5),np.uint8) #numpy库生成1数组,数据类型为整形 img2 = cv2.erode(img,kernel,iterations) #迭代次数,默认为1 处理结果
在这里插入图片描述 图像膨胀 原理

膨胀又叫逆腐蚀。

先腐蚀后膨胀,可用于降噪。
在这里插入图片描述

函数 dilate kernel = np.ones((5,5),np.uint8) img2 = cv2.dilate(img,kernel,iterations) 处理结果
在这里插入图片描述 开运算

我们把先腐蚀后膨胀的操作合并为开运算。

原理
在这里插入图片描述 函数 morpholoyEx kernel = np.ones((5,5),np.uint8) opening = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel) #opening,开运算结果 cv2.MORPH_OPEN 开运算关键字 处理结果
在这里插入图片描述 闭运算

我们把先膨胀后腐蚀称为闭运算。

原理
在这里插入图片描述 函数 morphologyEx kernel = np.ones((5,5),np.uint8) closing = cv2.morpghologyEx(img,cv2.MORPH_CLOSE,kernel) #闭运算结果及关键字 处理结果
在这里插入图片描述 梯度操作

膨胀图像 - 腐蚀图像 = 梯度图像

原理
结果也叫轮廓图像
在这里插入图片描述 函数 morphologyEx kernel = np.ones((5,5),np.uint8) result = cv2.morphologyEx(img,cv2MORPH_GRADIENT,kernel) 处理结果
在这里插入图片描述 礼帽运算

原始图像 - 开运算图像 = 噪声图像

效果在这里插入图片描述 函数 morphologyEx kernel = np.ones((5,5),np.uint8) result = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel) 黑帽处理

闭运算图像 - 原始图像 = 黑帽图像

效果
在这里插入图片描述 函数 morphologyEx kernel = np.ones((5,5),np.uint8) result = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)
作者:机械搬砖工



形态学 opencv

需要 登录 后方可回复, 如果你还没有账号请 注册新账号