您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Python中圖像形態學運算技術的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python中圖像形態學運算技術的示例分析”這篇文章吧。
在Python OpenCV圖像處理之圖像濾波特效詳解中我們將圖像濾波進行了以下分類:
鄰域濾波
線性濾波
非線性濾波
頻域濾波
低通濾波
高通濾波
在非線性濾波中,之前只介紹了中值濾波,事實上,還有一類非常常用的非線性濾波方法,稱為圖像形態學運算(Morphological operations)。
圖像形態學運算是一類基于圖像形狀運算的非線性濾波技術,其基本思想是利用一些特殊的結構元來測量或提取圖像中相應的形狀和特征,以便進一步進行圖像分析和處理。這里結構元素就相當于我們在濾波中所涉及到的模板——一個給定像素的矩陣,這個矩陣形狀可以任意,但一般是正方形。
接下來,我們分析一下幾種經典的圖像形態學運算算法,再編程測試一下~
腐蝕就是用局部灰度最小值代替目標像素值實現對高亮區域的腐蝕。
舉個例子,有這樣一張圖像和這樣一個結構元素,其中結構元素的藍色方塊表示的是模板原點。
下面我們開始遍歷這張圖像,到下圖這個位置的時候,模板內灰度最小值是灰色方格的像素,因此替換掉模板原點中藍色方格處的像素為灰色(原本為白色,被腐蝕了)
就這樣遍歷完這張圖像得到
膨脹就是用局部灰度最大值代替目標像素值實現對高亮區域的膨脹。
和腐蝕類似,遍歷這張圖像,到下圖這個位置的時候,模板內灰度最大值是白色方格的像素,因此替換掉模板原點中藍色方格處的像素為白色(原本為灰色,膨脹了)
就這樣遍歷完這張圖像得到膨脹的最終結果為
上個實物圖感受下腐蝕和膨脹的效果
理解了圖像腐蝕與膨脹,那么開閉運算就很容易了
開運算(Opening):先腐蝕再膨脹
閉運算(Closing):先膨脹再腐蝕
開運算能夠除有效去除孤立點、毛刺和小橋;閉運算能夠填平小孔,彌合縫隙。
上圖假設灰色區域為高亮。
頂帽運算與底帽運算是用于表征開閉運算與原圖像間差異的運算,類似邊緣檢測的梯度差
圖像頂帽運算:表征原圖像與開運算得到的圖像之間的區別
圖像底帽運算:表征原圖像與閉運算得到的圖像之間的區別
先看看原圖,一對可愛的貓咪
進行腐蝕操作,首先創建結構元
int eSize = 3; //結構元尺寸 int s = eSize * 2 + 1; Mat structureElement = getStructuringElement(MORPH_RECT, Size(s, s), Point(-1, -1));
接著用結構元遍歷原圖,OpenCV
有封裝好的API,直接調用即可
erode(src, dst, structureElement); imshow("腐蝕操作后:", dst);
得到腐蝕后的圖像如下所示,眼睛空洞洞的,有點恐怖片內味了,這還是原來那兩只貓嗎?
膨脹操作類似于腐蝕,也有OpenCV
封裝好的API
dilate(srcImg, dstImg, structureElement, Point(-1, -1), 1); imshow("膨脹操作后:", dstImg);
膨脹出來的小貓就顯得輕松很多,感覺升華了。
今后要是想有一張照片創造光與影
、正與邪
、天使與惡魔
兩種反差,可以考慮采用圖像腐蝕和膨脹操作。
以上是“Python中圖像形態學運算技術的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。