Opencv实用操作6 开运算 闭运算 梯度运算 礼帽 黑帽

发布于:2025-05-30 ⋅ 阅读:(19) ⋅ 点赞:(0)

1.相关函数

        开运算

        img_open = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)#(图片,算法,核)

        闭运算

        img_close = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)#(图片,算法,核)

        梯度运算

        img_gradient = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel)#(图片,算法,核)

        礼帽

        img_tophat  =  cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)

        黑帽

        img_blackhat  =  cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)

2.程序

        开运算(先腐蚀再膨胀)闭运算(先膨胀,再腐蚀)梯度运算(膨胀-腐蚀)礼帽(原始输入-开)
        黑帽 = 闭运算-原始输入

3.实验结果

#开运算(先腐蚀再膨胀)闭运算(先膨胀,再腐蚀)梯度运算(膨胀-腐蚀)礼帽(原始输入-开)
#黑帽 = 闭运算-原始输入
import cv2
import numpy as np

img = cv2.imread("image/dige.png")       #读取图片


kernel = np.ones((5,5),np.uint8)  #卷积核

img_open = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)#(图片,算法,核)

img_close = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)#(图片,算法,核)

img_gradient = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel)#(图片,算法,核)

img_tophat = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)

img_blackhat = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)

cv2.imshow("GRADIENT",img_gradient)
cv2.imshow("OPEN",img_open)
cv2.imshow("CLOSE",img_close)
cv2.imshow("TOPHAT",img_tophat)
cv2.imshow("BLACKHAT",img_blackhat)

cv2.waitKey(0)

cv2.destroyAllWindows()


网站公告

今日签到

点亮在社区的每一天
去签到