You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
834 B

import numpy as np
import cv2
from output import out_path
def morphology(decide,cnt):
src = cv2.imread(out_path(cnt), cv2.IMREAD_UNCHANGED)
if(decide==0):# 腐蚀
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (5, 5))
output = cv2.erode(src, kernel)
elif(decide==1):# 膨胀
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (5, 5))
output = cv2.dilate(src, kernel)
elif(decide==2):# 开运算(先腐蚀,再膨胀)
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (5, 5))
output = cv2.morphologyEx(src, cv2.MORPH_OPEN, kernel)
elif(decide==3):# 闭运算(先膨胀,再腐蚀)
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (10, 10))
output = cv2.morphologyEx(src, cv2.MORPH_CLOSE, kernel)
cv2.imwrite(out_path(cnt+1), output)