这篇文章将为大家详细讲解有关如何用opencv实现图像礼帽和图像黑帽,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

python + OpenCV

图像礼帽

图像礼帽 也叫图像顶帽
礼帽图像=原始图像-开运算图像
得到噪声图像
开运算:先腐蚀再膨胀

使用对象:二值图像


使用方法:morphologyEx
cv2.MORPH_TOPHAT
结果=cv2.morphologyEx(原始图像,cv2.MORPH_TOPHAT,卷积核)
卷积核示例:k=np.ones((10,10),np.uint8)

import cv2import numpy as npo=cv2.imread("tophat.bmp",cv2.IMREAD_UNCHANGED)k=np.ones((5,5),np.uint8)r=cv2.morphologyEx(o,cv2.MORPH_TOPHAT,k)cv2.imshow("original",o)cv2.imshow("result",r)cv2.waitKey()cv2.destroyAllWindows()

图像黑帽

黑帽图像=闭运算图像-原始图像
得到图像内部的小孔,或前景色的小黑点
闭运算:对图像进行先膨胀,再腐蚀。有助于关闭前景物体上的小孔,或者小黑点。
使用对象:二值图像


使用方法:morphologyEx
cv2.MORPH_BLACKHAT
结果=cv2.morphologyEx(原始图像,cv2.MORPH_BLACKHAT,卷积核)
卷积核示例:k=np.ones((10,10),np.uint8)

import cv2import numpy as npo=cv2.imread("blackhat.bmp",cv2.IMREAD_UNCHANGED)k=np.ones((5,5),np.uint8)r=cv2.morphologyEx(o,cv2.MORPH_BLACKHAT,k)cv2.imshow("original",o)cv2.imshow("result",r)cv2.waitKey()cv2.destroyAllWindows()


关于如何用opencv实现图像礼帽和图像黑帽就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。