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 圖像腐蝕和圖像膨脹的實現的文章就介紹到這了,更多相關opencv 圖像腐蝕和圖像膨脹內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

