擊中擊不中變換是形態學形狀檢測的基本工具。
步驟為:
使用模板s1腐蝕原影象x
使用模板s2(s2為是s1的補)對y(y為x的補)進行腐蝕
對兩個結果進行取交集
用擊中結構去腐蝕原始影象得到擊中結果x(這個過程可以理解為在原始影象中尋找和擊中結構完全匹配的模組,匹配上了之後,保留匹配部分的中心元素,作為腐蝕結果的乙個元素),然後用擊不中結構去腐蝕原始影象的補集得到擊不中結果y(即在原始影象上找到擊不中結構與原始影象沒有交集的位置,這個位置的元素保留,作為腐蝕結果的乙個元素),取x和y的交集就是擊中-擊不中的結果。 通俗理解就是:用乙個小的結構元素(擊中結構)去射擊原始影象,擊中的元素保留;再用乙個很大的結構元素(擊不中,一般取乙個環狀結構)去射擊原始影象,擊不中原始影象的位置保留。滿足擊中元素能擊中and擊不中元素不能擊中的位置的元素就是最終的形狀結果。
mats1 = (#include #include #include using namespace cv;
int main()
mat_
<
int>(3, 3)
<< 0
,0,0
, 0,
1,0,
0,0,0);
mats2 = (
mat_
<
int>(3, 3)
<< 0
,1,0
, 1,
0,1,
0,1,0);
mats3 = (
mat_
<
int>(3, 3)
<< 0
,1,0
, 1,
-1,1,
0,1,0); s3
是直接用s2-s1所得
圖1 原圖 圖2 使用s1腐蝕結果 圖3 使用s2腐蝕結果
圖4 圖3與圖2的交集 圖5 直接使用s3腐蝕的結果
參考:
擊中擊不中變換
標籤 null delete command 擴充套件工具測試 2010 02 11 18 35 4881人閱讀收藏 舉報 影象處理 6 擊中擊不中變換 形態學中用來檢測形狀的乙個基本工具 檢測不應該只限於形狀,還有大小 我這裡只寫了二值影象的,對於灰度圖還沒試過 它的原理就是使用腐蝕 如果要在一幅...
擊中擊不中變換
擊中擊不中變換定義 擊中擊不中變換 hmt 需要兩個結構元素b1和b2,合成乙個結構元素對b b1,b2 乙個用於探測影象內部,作為擊中部分 另乙個用於探測影象外部,作為擊不中部分。顯然,b1和b2是不應該相連線的,即b1 b2 擊中擊不中變換的數學表示式為 g x,y hitmiss f x,y ...
擊中 擊不中變換 lhMorpHMT
函式 lhmorphmt 說明 形態學擊中 擊不中變換 引數 src 輸入影象,灰度或二值影象 dst 輸出影象 sefg 前景結構元素 sebg 背景結構元素,如為空,則預設為前景結構元素sefg的取反 type 擊中 擊不中變換的型別,二值 0 非約束 1 約束 2 定義如下 define lh...