圖像形態(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)元素對同樣的圖像進(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)膨脹操作的代碼如下
開操作
開操作是首先對圖像進(jìn)行腐蝕操作,然后在對圖像進(jìn)行膨脹操作,開操作可以斷開兩個對象的連接性。實(shí)現(xiàn)對象分離。開操作的代碼實(shí)現(xiàn)如下:
閉操作
閉操作使用結(jié)構(gòu)元素對圖像先膨脹后腐蝕,正好跟開操作的順序相反,但是閉操作絕對不是開操作的反操作結(jié)果。閉操作可以消除圖像中背景小點(diǎn)。OpenCV中開操作代碼演示如下:
擊中擊不中操作(Hit and Miss)
根據(jù)結(jié)構(gòu)元素的選擇被擊中的區(qū)域?qū)槐A簟⒍鴽]有被擊中的區(qū)域則被去掉OpenCV中代碼演示如下:
黑帽操作
黑帽操作的結(jié)果是圖像閉操作與源圖像之間的不同,OpenCV中實(shí)現(xiàn)圖像黑帽操作的代碼如下:
頂帽操作
頂帽操作是源圖像與開操作結(jié)果之間的差異,頂帽操作可以顯示出圖像中區(qū)域之間微小不同之處。OpenCV頂帽操作的代碼演示如下:
梯度操作
形態(tài)學(xué)的梯度操作是圖像膨脹與腐蝕結(jié)果之間的不同,常見的梯度操作是基本梯度-是膨脹與腐蝕結(jié)果之間不同。OpenCV的代碼演示如下:
函數(shù)說明
morphologyEx- 形態(tài)學(xué)操作函數(shù)
-第一個參數(shù)表示輸入圖像,通道數(shù)目任意,位數(shù)可以是8、16、32
-第二個參數(shù)表示輸出圖像,通道數(shù)與位數(shù)與輸入圖像一致
-第三個參數(shù)表示是那種形態(tài)學(xué)操作
-第四個參數(shù)表示結(jié)構(gòu)元素是什么
上述舉例都是基于矩形結(jié)構(gòu)元素5x5窗口大小,此外文章中還定義另外兩種結(jié)構(gòu)元素,感興趣的讀者可以自己嘗試。
原文標(biāo)題:OpenCV中圖像形態(tài)學(xué)操作
文章出處:【微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
圖像
+關(guān)注
關(guān)注
2文章
1089瀏覽量
40582 -
OpenCV
+關(guān)注
關(guān)注
31文章
635瀏覽量
41582
原文標(biāo)題:OpenCV中圖像形態(tài)學(xué)操作
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
AI模型部署邊緣設(shè)備的奇妙之旅:如何在邊緣端部署OpenCV
AI模型部署邊緣設(shè)備的奇妙之旅:如何在邊緣端部署OpenCV
![AI模型部署邊緣設(shè)備的奇妙之旅:如何在邊緣端部署<b class='flag-5'>OpenCV</b>](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
【AI實(shí)戰(zhàn)項(xiàng)目】基于OpenCV的“顏色識別項(xiàng)目”完整操作過程
![【AI實(shí)戰(zhàn)項(xiàng)目】基于<b class='flag-5'>OpenCV</b>的“顏色識別項(xiàng)目”完整<b class='flag-5'>操作</b>過程](https://file1.elecfans.com/web3/M00/01/9C/wKgZPGdWrW6ALvshAAAgxUs2CfI310.png)
基于OpenCV的拆分和合并圖像通道實(shí)驗(yàn)案例分享_基于RK3568教學(xué)實(shí)驗(yàn)箱
RK3568 + OpenCV 會碰撞出什么火花?案例詳解:2-1 基于OpenCV的畫線實(shí)驗(yàn)
一個月速成python+OpenCV圖像處理
![一個月速成python+<b class='flag-5'>OpenCV</b><b class='flag-5'>圖像</b>處理](https://file1.elecfans.com/web3/M00/00/7F/wKgZPGdJlvGANv8EAAAl3WfWse8658.png)
手寫圖像模板匹配算法在OpenCV中的實(shí)現(xiàn)
![手寫<b class='flag-5'>圖像</b>模板匹配算法在<b class='flag-5'>OpenCV</b><b class='flag-5'>中</b>的<b class='flag-5'>實(shí)現(xiàn)</b>](https://file1.elecfans.com/web1/M00/F4/B4/wKgZoWcxaGqAPU4YAAAPQhF4fVs669.png)
OpenCV圖像識別C++代碼
opencv圖像識別有什么算法
opencv-python和opencv一樣嗎
opencv的主要功能有哪些
什么是機(jī)器視覺opencv?它有哪些優(yōu)勢?
基于深度學(xué)習(xí)的缺陷檢測方案
![基于深度學(xué)習(xí)的缺陷檢測方案](https://file1.elecfans.com/web2/M00/D7/62/wKgaomYnfmiATJi6AAAo_7hghd8066.png)
評論