形态学主要处理二值图像(0黑1白)。
图像腐蚀 概念kernel = np.ones((5,5),np.uint8) #numpy库生成1数组,数据类型为整形
img2 = cv2.erode(img,kernel,iterations) #迭代次数,默认为1
处理结果膨胀又叫逆腐蚀。
先腐蚀后膨胀,可用于降噪。
kernel = np.ones((5,5),np.uint8)
img2 = cv2.dilate(img,kernel,iterations)
处理结果我们把先腐蚀后膨胀的操作合并为开运算。
原理kernel = np.ones((5,5),np.uint8)
opening = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)
#opening,开运算结果 cv2.MORPH_OPEN 开运算关键字
处理结果我们把先膨胀后腐蚀称为闭运算。
原理kernel = np.ones((5,5),np.uint8)
closing = cv2.morpghologyEx(img,cv2.MORPH_CLOSE,kernel)
#闭运算结果及关键字
处理结果膨胀图像 - 腐蚀图像 = 梯度图像
原理kernel = np.ones((5,5),np.uint8)
result = cv2.morphologyEx(img,cv2MORPH_GRADIENT,kernel)
处理结果原始图像 - 开运算图像 = 噪声图像
效果 函数 morphologyExkernel = np.ones((5,5),np.uint8)
result = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)
黑帽处理
闭运算图像 - 原始图像 = 黑帽图像
效果kernel = np.ones((5,5),np.uint8)
result = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)