您好,登錄后才能下訂單哦!
小編給大家分享一下opencv如何實現圖像腐蝕和圖像膨脹,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
語言:python+opencv
為什么使用圖像腐蝕和圖像膨脹
如圖,使用圖像腐蝕進行去噪,但是為壓縮噪聲。
對腐蝕過的圖像,進行膨脹處理,可以去除噪聲,并保持原樣形狀。
圖像腐蝕
腐蝕主要針對的是二值圖像,如只有0和1兩個值,
兩個輸入對象:1原始二值圖像,2卷積核
使用卷積核遍歷原始二值圖像,如果卷積核對應的元素值均為1,其值才為1,否則為0。如圖,紅色為卷積核。
腐蝕后的結果示意圖見下面,效果是將邊緣抹掉一部分。
使用方法:erode 中文翻譯:侵蝕
處理結果=cv2.erode(原始圖像src,卷積核kernel,迭代次數iterations)
卷積核kernel:一般為正方形數組
如:k=np.ones((5,5),np.uint8)
迭代次數iterations:腐蝕次數,默認1
import cv2 import numpy as np o=cv2.imread("erode.bmp",cv2.IMREAD_UNCHANGED) k=np.ones((5,5),np.uint8) r=cv2.erode(o,k,iterations=10) cv2.imshow("original",o) cv2.imshow("result",r) cv2.waitKey() cv2.destroyAllWindows()
圖像膨脹
圖像腐蝕的逆操作。
針對的是二值圖像
輸入兩個參數:二值圖像,卷積核。
使用卷積核對二值圖像進行遍歷,卷積核對應的圖像像素點只要有一個為1,則值為1,否則為0.
使用方法:dilate
結果=cv2.dilate(二值圖像src,卷積核k,迭代次數itreations)
卷積核 正方形數組:如np.ones((5,5),np.uint8)
import cv2 import numpy as np o=cv2.imread("dilation.bmp",cv2.IMREAD_UNCHANGED) k=np.ones((5,5),np.uint8) r=cv2.dilate(o,k,iterations=1) cv2.imshow("original",o) cv2.imshow("result",r) cv2.waitKey() cv2.destroyAllWindows()
看完了這篇文章,相信你對opencv如何實現圖像腐蝕和圖像膨脹有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。