圖像形態(tài)學(xué)是圖像處理的分支學(xué)科,在二值圖像處理中占有重要地位、OpenCV中實(shí)現(xiàn)了圖像形態(tài)學(xué)如下常見操作:
-膨脹操作
-腐蝕操作
-開操作
-閉操作
-擊中擊不中操作
-黑帽操作
-頂帽操作
-梯度操作
在開始相關(guān)API與代碼演示之前,首先要加載圖片然后把圖像從彩色圖像轉(zhuǎn)換為二值圖像,實(shí)現(xiàn)代碼如下:
結(jié)構(gòu)元素
圖像形態(tài)學(xué)操作,必須有結(jié)構(gòu)元素才可以,不同形狀的結(jié)構(gòu)元素對(duì)同樣的圖像進(jìn)行相同的操作可以得到不同的輸出結(jié)果,所以在形態(tài)學(xué)操作中結(jié)構(gòu)元素的選擇至關(guān)重要。OpenCV中獲取結(jié)構(gòu)元素的相關(guān)代碼如下:
腐蝕操作
腐蝕操作是將結(jié)構(gòu)元素覆蓋下的中心像素點(diǎn)的值用最小值替換,得到結(jié)果即為腐蝕操作輸出圖像,通過OpenCV API調(diào)用實(shí)現(xiàn)腐蝕操作的代碼如下
膨脹操作
膨脹操作是將結(jié)構(gòu)元素覆蓋下的中心像素點(diǎn)的值用最大值替換,得到結(jié)果即為膨脹操作輸出圖像,通過OpenCV API調(diào)用實(shí)現(xiàn)膨脹操作的代碼如下
開操作
開操作是首先對(duì)圖像進(jìn)行腐蝕操作,然后在對(duì)圖像進(jìn)行膨脹操作,開操作可以斷開兩個(gè)對(duì)象的連接性。實(shí)現(xiàn)對(duì)象分離。開操作的代碼實(shí)現(xiàn)如下:
閉操作
閉操作使用結(jié)構(gòu)元素對(duì)圖像先膨脹后腐蝕,正好跟開操作的順序相反,但是閉操作絕對(duì)不是開操作的反操作結(jié)果。閉操作可以消除圖像中背景小點(diǎn)。OpenCV中開操作代碼演示如下:
擊中擊不中操作(Hit and Miss)
根據(jù)結(jié)構(gòu)元素的選擇被擊中的區(qū)域?qū)?huì)被保留、而沒有被擊中的區(qū)域則被去掉OpenCV中代碼演示如下:
黑帽操作
黑帽操作的結(jié)果是圖像閉操作與源圖像之間的不同,OpenCV中實(shí)現(xiàn)圖像黑帽操作的代碼如下:
頂帽操作
頂帽操作是源圖像與開操作結(jié)果之間的差異,頂帽操作可以顯示出圖像中區(qū)域之間微小不同之處。OpenCV頂帽操作的代碼演示如下:
梯度操作
形態(tài)學(xué)的梯度操作是圖像膨脹與腐蝕結(jié)果之間的不同,常見的梯度操作是基本梯度-是膨脹與腐蝕結(jié)果之間不同。OpenCV的代碼演示如下:
函數(shù)說明
morphologyEx- 形態(tài)學(xué)操作函數(shù)
-第一個(gè)參數(shù)表示輸入圖像,通道數(shù)目任意,位數(shù)可以是8、16、32
-第二個(gè)參數(shù)表示輸出圖像,通道數(shù)與位數(shù)與輸入圖像一致
-第三個(gè)參數(shù)表示是那種形態(tài)學(xué)操作
-第四個(gè)參數(shù)表示結(jié)構(gòu)元素是什么
上述舉例都是基于矩形結(jié)構(gòu)元素5x5窗口大小,此外文章中還定義另外兩種結(jié)構(gòu)元素,感興趣的讀者可以自己嘗試。
原文標(biāo)題:OpenCV中圖像形態(tài)學(xué)操作
文章出處:【微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
圖像
+關(guān)注
關(guān)注
2文章
1084瀏覽量
40470 -
OpenCV
+關(guān)注
關(guān)注
31文章
635瀏覽量
41355
原文標(biāo)題:OpenCV中圖像形態(tài)學(xué)操作
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論