形態學中的膨脹操作即讓照片變得更大,與腐蝕操作互為逆運算
cv2.dilate(erosion,kernel,iterations = 1)
第一個參數:圖像對象名稱
第二個參數:卷積核的大小
第三個參數:迭代次數
此時就可與腐蝕操作進行相結合,腐蝕去毛毛但是會損壞圖像粗細,然后再膨脹盡可能還原圖像
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)kernel = np.ones((3,3),np.uint8)
erosion = cv2.erode(img,kernel,iterations = 1)
show_photo('erosion',erosion)kernel = np.ones((3,3),np.uint8)
dige_dilate = cv2.dilate(erosion,kernel,iterations = 1)
show_photo('dilate',dige_dilate)res = np.hstack((img,erosion,dige_dilate))
show_photo('YT_FS-PZ',res)
原圖:
腐蝕:
膨脹:
合并對比:
接著看下迭代次數iterations對膨脹操作的效果
import cv2
import numpy as npdef show_photo(name,picture):cv2.imshow(name,picture)cv2.waitKey(0)cv2.destroyAllWindows()pie = cv2.imread('E:\Jupyter_workspace\study\data/pie.png')kernel = np.ones((30,30),np.uint8)
dilate_1 = cv2.dilate(pie,kernel,iterations = 1)
dilate_2 = cv2.dilate(pie,kernel,iterations = 2)
dilate_3 = cv2.dilate(pie,kernel,iterations = 3)
res = np.hstack((pie,dilate_1,dilate_2,dilate_3))show_photo('YT_1-2-3',res)