当前位置:首页 >> 脚本专栏

opencv 图像礼帽和图像黑帽的实现

python + OpenCV

图像礼帽

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

使用对象:二值图像

opencv 图像礼帽和图像黑帽的实现

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

import cv2
import numpy as np
o=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()

opencv 图像礼帽和图像黑帽的实现

图像黑帽

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

opencv 图像礼帽和图像黑帽的实现

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

import cv2
import numpy as np
o=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 图像礼帽和图像黑帽的实现