- 腐蚀膨胀是形态学的基本处理方法
- 开运算:先腐蚀后膨胀,可消除细小物体或断开两个区域间的细小连接处。
- 闭运算:先膨胀后腐蚀,填充物体内细小空洞,连接邻近物体和平滑边界。
代码:
import cv2
import numpy as np
from matplotlib import pyplot as plt
def erode_demo(pic):
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (6, 6))
dst = cv2.erode(pic, kernel)
return dst
def dilate_demo(binary):
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (6, 6))
dst = cv2.dilate(binary, kernel)
return dst
img = cv2.imread('1.png')
img1 = '1.png'
src = cv2.imread(img1, cv2.IMREAD_UNCHANGED)
gray1 = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
imageVar = cv2.Laplacian(gray1, cv2.CV_64F).var()
a = 3
O = float(a) * img
O[0 > 255] = 255
O = np.round(O)
O = O.astype(np.uint8)
cv2.imshow("O", O)
result = erode_demo(src)
result2 = dilate_demo(src)
cv2.imshow('ori',img)
cv2.imshow('result',result)
cv2.imshow('result2',result2)
cv2.imshow('imageVar',imageVar)
cv2.waitKey(0)
cv2.destroyAllWindows()