opencv 形態(tài)學變換(開運算,閉運算,梯度運算)
形態(tài)學里把腐蝕和膨脹單獨拿了出來,其他操作(保括膨脹和腐蝕的組合操作)都叫形態(tài)學變換。
opencv里有包:cv2.morphologyEx()
morphology :譯文 形態(tài)學
使用python +opencv講解
開運算
開運算:對圖像先進行腐蝕,然后對腐蝕后的圖進行膨脹


morphologyEx
運算結(jié)果=cv2.morphologyEx(源圖像img,cv2.MORPH_OPEN,卷積核k)
cv2.MORPH_OPEN:開運算
import cv2
import numpy as np
o=cv2.imread("opening.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((10,10),np.uint8)
r=cv2.morphologyEx(o,cv2.MORPH_OPEN,k)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

閉運算
對圖像進行先膨脹,再腐蝕。
有助于關(guān)閉前景物體上的小孔,或者小黑點。

morphologyEx
運算結(jié)果=cv2.morphologyEx(源圖像img,cv2.MORPH_CLOSE,卷積核k)
cv2.MORPH_CLOSE:閉運算
合理選擇卷積核大小,太小了無法去除前景圖的黑點
import cv2
import numpy as np
o=cv2.imread("closing.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((10,10),np.uint8)
r=cv2.morphologyEx(o,cv2.MORPH_CLOSE,k)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

梯度運算
對二值圖像分別進行膨脹和腐蝕操作。
然后膨脹圖像-腐蝕圖像=結(jié)果
(像素相減)0-0=0,1-1=0,1-0=1

運算結(jié)果=cv2.morphologyEx(源圖像img,cv2.MORPH_GRADIENT,卷積核k)
cv2.MORPH_GRADIENT:閉運算
import cv2
import numpy as np
o=cv2.imread("gradient.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r=cv2.morphologyEx(o,cv2.MORPH_GRADIENT,k)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

到此這篇關(guān)于opencv 形態(tài)學變換(開運算,閉運算,梯度運算)的文章就介紹到這了,更多相關(guān)opencv 形態(tài)學變換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)逆序輸出一個數(shù)字的示例講解
今天小編就為大家分享一篇python實現(xiàn)逆序輸出一個數(shù)字的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python 中 -m 的典型用法、原理解析與發(fā)展演變
這篇文章主要介紹了Python 中 -m 的典型用法、原理解析與發(fā)展演變,需要的朋友可以參考下2019-11-11
python 最簡單的實現(xiàn)適配器設(shè)計模式的示例
這篇文章主要介紹了python 最簡單的實現(xiàn)適配器設(shè)計模式的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06

