一個字節表示一個像素是灰度圖像,三個字節表示一個像素是RGB圖像,一個字節8位位深度為8,三個字節位深度為24位。
膨脹、腐蝕、開運算、閉運算針對二值圖像(二值圖像是指在圖像中,灰度等級只有兩種,也就是說,圖像中的任何像素不是0就是1,再無其他過渡的灰度值),腐蝕是減少像素,膨脹是增加像素。
開運算:先腐蝕后膨脹(也減少像素),可以將兩個物體分開,可以消除離散點和"毛刺",。
閉運算:是先膨脹后腐蝕(增加像素),用來填充物體內細小空洞、連接鄰近物體、平滑其邊界的同時並不明顯改變其面積。
閉運算是連接,開運算是斷開,閉運算連接的程度沒有膨脹連接的范圍大,開運算斷開的范圍沒有腐蝕斷開的范圍大。
在halcon中結構元素半徑越大,膨脹或腐蝕的范圍就越寬,閉運算增加的范圍就越寬,開運算減小的范圍也就越大。
對灰度圖像的腐蝕或開運算相當於將圖像變暗(像素減少了)對灰度圖像的膨脹或閉運算相當於圖像變亮了
灰度圖像的形態學並不是改變形狀,對二值圖像和區域改變形狀。
常用的圖像形態學操作包括膨脹、腐蝕、閉運算、開運算。
膨脹操作會擴大(粗化)圖像中物體的輪廓,可以用來彌補(填充)物體間的孔洞,強化離散點,代價是導致物體的面積比原來的面積要大。
腐蝕操作會收縮(細化)圖像中物體的輪廓,可以用來斷開(分離)物體間的連接,消除離散點,代價是導致物體的面積比原來的面積要小。
閉運算是使用同一結構元對圖像進行先膨脹后腐蝕的操作,可以用來彌合較窄的間斷和細長的溝壑,消除物體間小的孔洞,填補輪廓線中的斷裂。
開運算是使用同一結構元素對圖像進行先腐蝕后膨脹的操作,可以用來平滑物體的輪廓,斷開物體間較窄的連接,消除物體邊沿尖銳的突出部分。
可以這樣理解:假設在一張圖片的正方形區域中,用圓形結構元素去做開運算,正方形區域中如果能裝的下這個圓形結構元素的部分則被腐蝕掉去除,裝不下圓形結構元素的部分,如下圖中四個角紅色標注的部分,則不會被腐蝕掉。閉運算,也可以按這種類似方式理解
需要說明的這些形態學操作所具有的效果是針對圖像中物體屬於高亮部分而言的,即前景物體的灰度高於背景圖像。