展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

开运算与闭运算

  • 开运算
import cv2 #opencv的缩写为cv2
import matplotlib.pyplot as plt # matplotlib库用于绘图展示
import numpy as np   # numpy数值计算工具包

# 魔法指令,直接展示图,Jupyter notebook特有
%matplotlib inline   

# 开:先腐蚀,再膨胀
img = cv2.imread('01_Picture/05_Dige.png')

kernel = np.ones((5,5),np.uint8)
opening = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel) 

cv2.imshow('opening',opening)
cv2.waitKey(0)
cv2.destroyAllWindows()

  • 闭运算
# 闭:先膨胀,再腐蚀
img = cv2.imread('01_Picture/05_Dige.png')

kernel = np.ones((5,5),np.uint8)
closing = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel) 

cv2.imshow('closing',closing)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 执行结果

  • 梯度运算

# 梯度 = 腐蚀-膨胀
pie = cv2.imread('01_Picture/06_pie.png')

kernel = np.ones((7,7),np.uint8)
dilate = cv2.dilate(pie,kernel,iterations=5) 
erosion = cv2.erode(pie,kernel,iterations=5) 

res = np.hstack((dilate,erosion))

cv2.imshow('res',res)
cv2.waitKey(0)
cv2.destroyAllWindows()

gradient = cv2.morphologyEx(pie,cv2.MORPH_GRADIENT,kernel)
cv2.imshow('gradient',gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 执行结果
点击查看代码

posted @ 2024-02-21 15:43  DogLeftover  阅读(32)  评论(0)    收藏  举报