OpenCV 常用圖像形態學運算工具 去除雜訊 / 提升連通元件(mask)品質
OpenCV 常用圖像形態學運算工具 去除雜訊 / 提升連通元件(mask)品質
資料來源: https://www.itread01.com/content/1546100107.html
綜述OpenCV中的形態學轉換操作有七種:腐蝕,膨脹,開運算,閉運算,形態學梯度,禮帽,黑帽。
API
中文名 | 英文名 | api | 原理 | 個人理解/應用時機 |
腐蝕 | erode | erode(src=girl_pic, kernel=kernel) | 在窗中,只要含有0,則窗內全變為0 [黑色] | 可以去淺色噪點 淺色成分被腐蝕 |
膨脹 | dilate | dilate(src=girl_pic, kernel=kernel) | 在窗中,只要含有1,則窗內全變為1 [白色/mask] | 可以增加淺色成分 淺色成分得膨脹 |
開 | open | morphologyEx(girl_pic, MORPH_OPEN, kernel) | 先腐蝕,後膨脹,去白色雜訊「xy不相等kernel達到過濾mask效果」 | 先合再開 對淺色成分不利 |
閉 | close | morphologyEx(girl_pic, MORPH_CLOSE, kernel) | 先膨脹,後腐蝕,去黑色雜訊「xy不相等kernel達到過濾mask效果」 | 先開再合 淺色成分得勢 |
梯度 | gradient | morphologyEx(girl_pic, MORPH_GRADIENT, kernel) | 一幅圖像腐蝕與膨脹的區別,可以得到輪廓(邊緣) | 膨脹減去腐蝕 |
頂帽 | tophat | morphologyEx(girl_pic, MORPH_TOPHAT, kernel) | 原圖像減去開運算的差 | 帶毛刺 – 處理後的 = 毛刺 |
黑帽 | blackhat | morphologyEx(girl_pic, MORPH_BLACKHAT, kernel) | 閉運算減去原圖像的差 | 刺-刺 = 只剩下小輪廓 |