開運算和閉運算實則就是將腐蝕操作和膨脹操作結合
而已,也就是個先后循序罷了
開運算:先腐蝕再膨脹
閉運算:先膨脹再腐蝕
cv2.morphologyEx(img_open,cv2.MORPH_OPEN,kernel)
cv2.morphologyEx(img_close,cv2.MORPH_CLOSE,kernel)
第一個參數:圖像對象名稱
第二個參數:模式選擇是開運算還是閉運算
第三個參數:卷積核的大小
import cv2
import numpy as npdef show_photo(name,picture):cv2.imshow(name,picture)cv2.waitKey(0)cv2.destroyAllWindows()#原圖
img = cv2.imread('E:\Jupyter_workspace\study\data/jiaju.png')
show_photo('jiaju',img)#開運算 先腐蝕再膨脹
img_open = cv2.imread('E:\Jupyter_workspace\study\data/jiaju.png')
kernel = np.ones((3,3),np.uint8)
opening = cv2.morphologyEx(img_open,cv2.MORPH_OPEN,kernel)
show_photo('opening',opening)#閉運算 先膨脹再腐蝕
img_close = cv2.imread('E:\Jupyter_workspace\study\data/jiaju.png')
kernel = np.ones((3,3),np.uint8)
closing = cv2.morphologyEx(img_close,cv2.MORPH_CLOSE,kernel)
show_photo('closing',closing)
原圖:
開運算:
閉運算: