开运算和闭运算
腐蚀和膨胀是开运算和闭运算的基础,先腐蚀然后膨胀就是开运算,而先膨胀然后腐蚀就是闭运算。
开运算
先腐蚀后膨胀的过程为开运算

erode_dilate.png
对于开运算还有一个很重要的作用,就是消除暗背景下的较亮区域,目的是在不改变黑色台球面积的情况下,消除球上的白色环形区域。
def erode_dilate():
I = cv2.imread("images/eight_ball.jpeg",0)
# 结构元半径
cv2.imshow("I",I)
r = 1
i = 1
MAX_R,MAX_I = 20,20
cv2.namedWindow("morphology",1)
def nothing(*arg):
pass
cv2.createTrackbar("r","morphology",r,MAX_R,nothing)
cv2.createTrackbar("i","morphology",i,MAX_I,nothing)
while(True):
# 显示原图
r = cv2.getTrackbarPos('r','morphology')
i = cv2.getTrackbarPos('i','morpholo