开运算和闭运算就是将腐蚀和膨胀按照一定的次序进行处理。但这两者并不是可逆的,即先开后闭并不能得到原先的图像。
闭运算用来连接被误分为许多小块的对象,而开运算用于移除由图像噪音形成的斑点。
闭运算操作代码如下:
import cv2
def closeopration(img):
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
iClose = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
return iClose
image = cv2.imread('t.png')
print(image.shape)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5, 5))
iClose = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
cv2.imshow('image', image)
cv2.imshow('iClose', iClose)
cv2.waitKey(0)
更多详情可参考 http://blog.csdn.net/sunny2038/article/details/9137759