python-OpenCV图像的开运算、闭运算、梯度运算

原图

python-OpenCV图像的开运算、闭运算、梯度运算_第1张图片

一、开运算

原理

先腐蚀处理,再膨胀处理

代码

# 开运算
# 方法:cv2.morphologyEx()
# 参数1:原图,参数2:cv2.MORPH_OPEN,参数3:核的大小
kernel = np.ones((3, 3), np.uint8)
opening = cv2.morphologyEx(img,cv2.MORPH_OPEN, kernel)

效果

图片白色线条与原图无异,且去掉旁边白线
python-OpenCV图像的开运算、闭运算、梯度运算_第2张图片

二、闭运算

原理

先膨胀处理,再腐蚀处理

代码

# 闭运算
# 方法:cv2.morphologyEx()
# 参数1:原图,参数2:cv2.MORPH_OPEN,参数3:核的大小
kernel = np.ones((3, 3), np.uint8)
closing = cv2.morphologyEx(img,cv2.MORPH_CLOSE, kernel)

效果

图片白线变粗
python-OpenCV图像的开运算、闭运算、梯度运算_第3张图片

三、梯度运算

原理

膨胀处理-腐蚀处理

代码

# 闭运算
# 方法:cv2.morphologyEx()
# 参数1:原图,参数2:cv2.MORPH_GRADIENT,参数3:核的大小
kernel = np.ones((3, 3), np.uint8)
gardient= cv2.morphologyEx(img,cv2.MORPH_GRADIENT, kernel)

效果

会出现轮廓形状
python-OpenCV图像的开运算、闭运算、梯度运算_第4张图片

你可能感兴趣的:(OpenCV-Python,python,opencv)