一、頂帽與黑帽
頂帽:原圖減去開操作後的結果
黑帽:閉操作的結果減去原圖
頂帽黑帽的作用:提取圖像中微小有用的信息塊
首先將圖片處理成二值圖:
src = cv.imread("D:/pythonTest/img/15.jpg")
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
cv.imshow("input",src)
用的是這張圖:
然後進行黑帽和頂帽操作:
k = cv.getStructuringElement(cv.MORPH_RECT,(3,3))
bh = cv.morphologyEx(binary,cv.MORPH_BLACKHAT,k)
cv.imshow("black hat",bh)
th = cv.morphologyEx(binary, cv.MORPH_TOPHAT, k)
cv.imshow("top hat", th)
得到如下效果:
確實將一些輪廓和細微的點都提取出來了。
換了一張圖嘗試了一下,效果也很不錯。原圖:
經過頂帽和黑帽操作後: