import cv2 #opencv读取的格式是BGR
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
1 腐蚀操作
img_dg = cv2.imread("dige.png")
cv2.imshow("img",img_dg)
cv2.waitKey(0)
cv2.destroyAllWindows()
kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(img_dg,kernel,iterations=1)
cv2.imshow("erosion",erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
pie = cv2.imread("pie.png")
cv2.imshow("pie",pie)
cv2.waitKey(0)
cv2.destroyAllWindows()
kernel2 = np.ones((30,30),np.uint8)
erosion_1 = cv2.erode(pie,kernel2,iterations=1)
erosion_2 = cv2.erode(pie,kernel2,iterations=2)
erosion_3 = cv2.erode(pie,kernel2,iterations=3)
res = np.hstack((erosion_1,erosion_2,erosion_3))
cv2.imshow("res",res)
cv2.waitKey(0)
cv2.destroyAllWindows()
2 膨胀操作
img_dg = cv2.imread("dige.png")
cv2.imshow("img",img_dg)
cv2.waitKey(0)
cv2.destroyAllWindows()
kernel = np.ones((3,3),np.uint8)
dige_erosion = cv2.erode(img_dg,kernel,iterations=1)
cv2.imshow("erosion",erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
kernel = np.ones((3,3),np.uint8)
dige_dilate = cv2.dilate(dige_erosion,kernel,iterations=1)
cv2.imshow("dilate",dige_dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()
pie = cv2.imread("pie.png")
kernel3 = np.ones((30,30),np.uint8)
dilate_1 = cv2.dilate(pie,kernel3,iterations=1)
dilate_2 = cv2.dilate(pie,kernel3,iterations=2)
dilate_3 = cv2.dilate(pie,kernel3,iterations=3)
res = np.hstack((dilate_1,dilate_2,dilate_3))
cv2.imshow("res",res)
cv2.waitKey(0)
cv2.destroyAllWindows()
3 开运算与闭运算
#开:先腐蚀,再膨胀
img_k = cv2.imread("dige.png")
kernel_k = np.ones((5,5),np.uint8)
opening = cv2.morphologyEx(img_k,cv2.MORPH_OPEN,kernel_k)
cv2.imshow("opening",opening)
cv2.waitKey(0)
cv2.destroyAllWindows()
#闭:先膨胀,再腐蚀
img_b = cv2.imread("dige.png")
kernel_b = np.ones((5,5),np.uint8)
closinging = cv2.morphologyEx(img_k,cv2.MORPH_CLOSE,kernel_k)
cv2.imshow("closinging",closinging)
cv2.waitKey(0)
cv2.destroyAllWindows()