halcon學習 膨脹和腐蝕

2021-09-30 20:03:51 字數 1383 閱讀 5526

乙個位元組表示乙個畫素是灰度影象,三個位元組表示乙個畫素是rgb影象,乙個位元組8位位深度為8,三個位元組位深度為24位。

膨脹、腐蝕、開運算、閉運算針對二值影象(二值影象是指在影象中,灰度等級只有兩種,也就是說,影象中的任何畫素不是0就是1,再無其他過渡的灰度值),腐蝕是減少畫素,膨脹是增加畫素。

開運算:先腐蝕後膨脹(也減少畫素),可以將兩個物體分開,可以消除離散點和"毛刺",。

閉運算:是先膨脹後腐蝕(增加畫素),用來填充物體內細小空洞、連線鄰近物體、平滑其邊界的同時並不明顯改變其面積

閉運算是連線,開運算是斷開,閉運算連線的程度沒有膨脹連線的範圍大,開運算斷開的範圍沒有腐蝕斷開的範圍大。

在halcon中結構元素半徑越大,膨脹或腐蝕的範圍就越寬,閉運算增加的範圍就越寬,開運算減小的範圍也就越大。

對灰度影象的腐蝕或開運算相當於將影象變暗(畫素減少了)對灰度影象的膨脹或閉運算相當於影象變亮了

灰度影象的形態學並不是改變形狀,對二值影象和區域改變形狀。

常用的影象形態學操作包括膨脹、腐蝕、閉運算、開運算。

膨脹操作會擴大(粗化)影象中物體的輪廓,可以用來彌補(填充)物體間的孔洞,強化離散點,代價是導致物體的面積比原來的面積要大。

腐蝕操作會收縮(細化)影象中物體的輪廓,可以用來斷開(分離)物體間的連線,消除離散點,代價是導致物體的面積比原來的面積要小。

閉運算是使用同一結構元對影象進行先膨脹後腐蝕的操作,可以用來彌合較窄的間斷和細長的溝壑,消除物體間小的孔洞,填補輪廓線中的斷裂。

開運算是使用同一結構元素對影象進行先腐蝕後膨脹的操作,可以用來平滑物體的輪廓,斷開物體間較窄的連線,消除物體邊沿尖銳的突出部分。

可以這樣理解:假設在一張的正方形區域中,用圓形結構元素去做開運算,正方形區域中如果能裝的下這個圓形結構元素的部分則被腐蝕掉去除,裝不下圓形結構元素的部分,如下圖中四個角紅色標註的部分,則不會被腐蝕掉。閉運算,也可以按這種類似方式理解

需要說明的這些形態學操作所具有的效果是針對影象中物體屬於高亮部分而言的,即前景物體的灰度高於背景影象。

腐蝕和膨脹

matlab中函式strel在操作結構元素應用,用於膨脹腐蝕及開閉運算等操作的結構元素物件 構造結構元素 具體用法 se strel shape,parameters 建立由指定形狀shape對應的結構元素。其中shape的種類有 arbitrary pair diamond periodiclin...

膨脹和腐蝕

我在做手勢識別模組。以下是程式 clear i1 imread c users administrator desktop 手勢 8.jpg level graythresh i1 自動算出合適的閾值 i2 im2bw i1,level 灰度影象轉換為二值影象 se ones 50,10 形態學結構...

OpenCV python 膨脹和腐蝕

1,概念及原理 膨脹 dilating 或 1 將影象 a 與任意形狀的核心 b 通常為正方形或圓形,進行卷積。2 核心 b 有乙個可定義的 錨點,通常定義為核心中心點。3 進行膨脹操作時,將核心 b 劃過影象a,將核心 b 覆蓋區域的最大相素值提取,並代替錨點位置的相素。顯然,這一最大化操作將會導...