您好,登錄后才能下訂單哦!
這篇文章主要介紹opencv形態學變換的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
形態學里把腐蝕和膨脹單獨拿了出來,其他操作(保括膨脹和腐蝕的組合操作)都叫形態學變換。
opencv里有包:cv2.morphologyEx()
morphology :譯文 形態學
使用python +opencv講解
開運算
開運算:對圖像先進行腐蝕,然后對腐蝕后的圖進行膨脹
morphologyEx
運算結果=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()
閉運算
對圖像進行先膨脹,再腐蝕。
有助于關閉前景物體上的小孔,或者小黑點。
morphologyEx
運算結果=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()
梯度運算
對二值圖像分別進行膨脹和腐蝕操作。
然后膨脹圖像-腐蝕圖像=結果
(像素相減)0-0=0,1-1=0,1-0=1
運算結果=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()
以上是opencv形態學變換的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。