形態學中的腐蝕操作一般處理的圖像數據為二值
的
cv2.erode(img,kernel,iterations = 1)
kernel表示拿多大的卷積核去腐蝕
iterations表示迭代次數
可以將一些帶有毛毛的圖像去毛毛化
原圖
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)
去毛毛
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')
kernel = np.ones((3,3),np.uint8)
erosion = cv2.erode(img,kernel,iterations = 1)
show_photo('erosion',erosion)
當然,這只是一個樣例罷了
腐蝕操作其實就是對一些邊緣進行剪切,處理之后的照片會相對變細
下面進行迭代次數的演示
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')
show_photo('pie',pie)
原圖:
不同的迭代次數也會對圖片有著不同的影響
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)
erosion_1 = cv2.erode(pie,kernel,iterations = 1)
erosion_2 = cv2.erode(pie,kernel,iterations = 2)
erosion_3 = cv2.erode(pie,kernel,iterations = 3)
res = np.hstack((pie,erosion_1,erosion_2,erosion_3))show_photo('YT-1-2-3',res)
不同的迭代次數的影響: