matlab 形态学 颗粒_数字图像处理Matlab-形态学图像处理(附代码)
這是一篇基于matlab,數字圖像處理的形態學研究與實現的文章,希望能對你產生幫助。
我還寫了一套《數字圖像處理》(岡薩雷斯版本)的學習筆記,歡迎關注我的csdn同名主頁,一起學習成長~
1.Objectives:
1.利用 MATLAB 研究二值形態學圖像處理常用算法;
2.掌握 MATLAB 形態學圖像處理基本操作函數的使用方法;
3.了解形態學的基本應用。
2.Experiment Content:
1.編程實現二值圖像的基本形態學處理(腐蝕、膨脹、開運算和閉運算) ;選擇不同結構元素篩選圖像目標。
2.用形態學運算實現灰度圖像的噪聲平滑和圖像邊緣提取。
3.Experiment Principle:
見書《數字圖像處理》
(岡薩雷斯著作,電子工業出版社于2009年12月1日出版)
4.Experiment Steps Result and Conlusion:
1、二值圖像的形態學變換
需要編寫的二值圖像形態學變換函數:
functionnewbuf=BwFilter(oldbuf,select) 該函數調用 MATLAB 關于膨脹、腐蝕和圖像篩選算法的相關函數,對二值圖像進行相應的處理,最后結果存放在 newbuf 數組中。 編程實現 BwFilter()函數的功能。結構元素也可以用 ones 函數和 zeros函數創建。
2、對輸入圖像進行形態學操作
即腐蝕、膨脹、開運算和閉運算,改變結構元素形狀、大小,重做上述實驗,比較實驗結果,分析結構元素對運算的影響;
圖1 膨脹
圖2 腐蝕
圖3 開運算
圖4 閉運算
Conv:相比較于原圖像,因為腐蝕的結果要使得各像元比之前變得更小,所以適用于去除高峰噪聲。而灰度值膨脹的結果會使得各像元比之前的變得更大,所以適用于去除低谷噪聲。但是由于該實驗中對原圖像損失太大,使得膨脹后為較大顆粒,腐蝕后只剩較少顆粒。
開運算 = 先腐蝕運算,再膨脹運算(看上去把細微連在一起的兩塊目標分開了) 。即分割出圖像。
閉運算 = 先膨脹運算,再腐蝕運算(看上去將兩個細微連接的圖塊封閉在一起) 。即讓圖像更加充實。
改變結構元素形狀、大小后效果:
(1)膨脹
(2)腐蝕
開運算
閉運算
Conv:改變結構元素的形狀和大小,分別使用了’disk’、’square’、’ones’和自定義矩陣等類型,大小由參數決定。以膨脹為例,可以看到同類型下,增大結構元素大小,白點部分膨脹得更厲害,而不同類型下,膨脹的方向和程度有所不同。對于腐蝕則使圖像被腐蝕,對于開運算圖像細的部分連接被打斷,結構參數大小越大,圖像白色部分越少;對于閉運算,圖像連接增多,白色部分變多并變模糊,同樣大小增大,程度加深,不同類型效果不同。
3、實現功能
以圖FigP0936(bubbles_on_black_background).tif 為例完成分別以下功能:
(1)提取與圖像邊界融合的顆粒
(2)提取彼此交疊的顆粒
(3)提取不交疊的顆粒
提示:
(1)可利用區域填充算法。如圖所示為源圖像,可將圖像先轉換為二值圖像,然后對其進行取反,這樣進行區域填充(閉運算)的結果將為與邊界相連的顆粒,再與源圖像進行比較,即可得出在源圖像中與邊界相連的顆粒圖像。
(2)可利用圖像的腐蝕與膨脹操作。先用模板對圖像進行腐蝕操作,由于相交疊的顆粒面積必然比獨立的顆粒大,因此腐蝕操作之后剩下的部分為交疊顆粒的部分,再對其進行膨脹,(開運算)將其與源圖像進行比較操作,則可得出交疊的顆粒圖像。
(3)得出交疊的顆粒之后,用源圖像對其相減,則得出的為獨立分布的顆粒圖像
(1)
(2)
(3)
Conv:(1)對原圖進行填充,可明顯觀察到原先的白點變多,對原圖實現了濾除噪聲的效果。(2)對原圖先腐蝕運算,再膨脹運算(看上去把細微連在一起的兩塊目標分開了) 。是進行了開運算即分割出主要圖像。(3)在進行相減,則為出去的小顆粒也就是分散的顆粒圖。
【附錄】實現代碼
由于排版問題,無法顯示代碼塊,需要原碼的歡迎點擊下方:
程序一
程序二
程序三
附:本人對數學形態學的研究筆記
都看到這里了不如點個贊加關注哦~
還有很多優質文章在我的csdn主頁,ID豆干花生,歡迎關注哦~
總結
以上是生活随笔為你收集整理的matlab 形态学 颗粒_数字图像处理Matlab-形态学图像处理(附代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone 14全系涨价,还值得购买吗
- 下一篇: matlab优化 带参数设置,优化选项参