安装opencv
!pip install opencv-python
返回矩形内核 返回十字形内核 返回椭圆形内核
import cv2
cv2.getStructuringElement(cv2.MORPH_RECT,(5,5)) #返回矩形内核
cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5)) #返回十字形内核
cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5)) #返回十字形内核
cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5)) #返回椭圆形内核
NumPy数组定义内核!
import numpy as np
kernel = np.ones((5,5),np.uint8) #自定义矩形内核
kernel
kernel=np.array([[0,0,1,0,0], [0,0,1,0,0],[1,1,1,1,1],
[0,0,1,0,0],[0,0,1,0,0]],dtype=np.uint8) #自定义十字形内核
kernel
kernel=np.array([[0,0,1,0,0], [1,1,1,1,1],[1,1,1,1,1],
[1,1,1,1,1],[0,0,1,0,0]],dtype=np.uint8) #自定义椭圆形内核
kernel
高级形态操作!
import cv2
import numpy as np
img=cv2.imread('qm.jpeg')
cv2.imshow('img',img) #显示原图像
kernel = np.ones((5,5),np.uint8) #定义大小为5×5的内核
op=cv2.MORPH_OPEN #设置形态操作类型
img2 = cv2.morphologyEx(img,op,kernel,iterations=5) #形态操作,迭代5次
cv2.imshow('img2',img2) #显示转换结果图像
cv2.waitKey(0)
腐蚀
import cv2
import numpy as np
img=cv2.imread('qm.jpeg') #读取图像
cv2.imshow('img',img) #显示原图像
kernel = np.ones((5,5),np.uint8) #定义大小为5×5的内核
img2 = cv2.erode(img,kernel,iterations=1) #腐蚀,迭代1次
cv2.imshow('img2',img2) #显示转换结果图像
cv2.waitKey(0)
膨胀
#test4-27.py:膨胀 import cv2 import numpy as np img=cv2.imread('qm.jpeg') #读取图像 cv2.imshow('img',img) #显示原图像 kernel = np.ones((5,5),np.uint8) #定义大小为5×5的内核 img2 = cv2.dilate(img,kernel,iterations = 5) #膨胀,迭代5次 cv2.imshow('img2',img2) #显示转换结果图像 cv2.waitKey(0)