科學計算與資料處理實驗報告
學 姓 名
号
實 驗
基于 Matlab 的植物葉面積數字攝影圖像處理
名稱
1.學習用 matlab 解決實際問題;
實 驗
2.學習用 matlab 對圖像進行背景去除; 目的
3.學習用 matlab 對圖像進行二值化轉換;
4.學習用 matlab 對圖像進行中值濾波處理;
5.學習用 matlab 計算像素點的比例,以計算出所求的葉子面子。
實驗所選擇植物葉為銀杏葉,把銀杏葉固定在标準面積闆上,用數位相機拍
實 驗
取圖像。對銀杏葉圖像的處理即是數字攝影圖像處理法測量其葉面積的關鍵。本
方案
實驗中利用 matlab 對銀杏葉圖像進行背景去除、二值化及中值濾波處理和分析。
1. 實驗采用差分法去除圖像的背景
差分處理代數運算的數學表達式為: C( x , y) = A ( x , y) - B ( x , y) ,其中 , A
( x , y) 和 B ( x , y) 為輸入圖像 , A ( x , y) 為原始圖像 , B ( x , y) 為背景圖像 ,
而 C ( x , y) 為輸出圖像即差分圖像。在 matlab 中 A ( x , y) 、B ( x , y) 、 C ( x ,
y) 分别為原始圖像、背景圖像和差分圖像的矩陣。
2. 采用自動門檻值法對圖像進行二值化處理
常用的門檻值選取方法有自動尋找最佳門檻值法和固定門檻值法。 自動尋找門檻值法能
夠自動分析圖像的灰階直方圖 , 根據直方圖确定最佳門檻值 , 然後用尋找到的最佳
門檻值進行二值化處理。而固定門檻值法首先分析每一幀圖像的灰階直方圖 , 然後得
出每幀圖像的門檻值。可以看出固定門檻值法的工作量大大高于自動門檻值法 , 并且不
能做到自動化 , 完全依靠手工去擷取圖像的門檻值 , 其精度也較自動門檻值法低。
3. 中值濾波的目的是消除圖像中的各種幹擾噪聲
噪聲可能是在圖像采集量化等過程中所産生的 ,也可能是在各種圖像處理過程
中産生的。其表現是圖像資訊被幹擾噪音所污損 ,導緻圖像品質下降。中值濾波是
一種較簡單但又很常用的濾波平滑方法 ,它采用鄰域内的像素灰階值的中值來作
為處理後像素點的灰階值 , 對脈沖式的灰階跳躍平滑效果好。
4. 葉子面積的計算
由于數字圖像由一個個像素點組成 , 是以在已知每個像素點代表的真實面積
下, 可以通過計算圖像中對象物體區域的像素數 , 求出葉子的面積。 二值化圖像經
中值濾波處理後的白色區域灰階值為 255 代表背景 , 黑色區域灰階值為 0 ,代表
葉子區域。 葉子面積的計算即灰階值為 0 的黑色區域的像素個數。 根據下面公式:
葉面積 标準面積版面積
葉子所占像素數量
葉子所占像素數量 背景所占像素數量
可求出所求銀杏葉的葉面積。
1
把銀杏葉固定在标準闆上拍照,得到原圖像與背景圖像如圖 1,圖 2。
實 驗
記錄
圖 1 原圖像 圖 2 背景圖
1. 用差分法去除圖像的背景。
右圖 3 為去除背景圖像
Matlab 處理程式為:
I=imread('shuye.bmp');
I1=imread('beijing.bmp');
J=rgb2gray(I);
J1=rgb2gray(I1);
K=imsubtract(J1,J);
figure,imshow(K);
圖 3 去除背景圖像
2. 用自動門檻值法對圖像進行二值化處理
右圖 4 為二值圖像
Matlab 程式為:
level=graythresh(K);
K1=im2bw(K,level);
figure,imshow(K1);
title( ' 二值圖像 ' );
圖4 二值圖像
3. 中值濾波
右圖 5 為中值濾波之後的圖像
Matlab 程式為:
K2=medfilt2(K1,[3 3]);
figure,imshow(K2);
4. 葉子面積的計算 圖 5 中值濾波後圖像
Matlab 程式為:
S0=sum(sum(K2))/(length(K2(:,1))*length(K2(1,:)))
S0所求為葉子(白色)所占總體的比例大小,求出 S0=0.1148 。已知标準面積闆面
積為360平方厘米。可知銀杏葉子面積 S=41.328 平方厘米。
2
通過本次綜合實驗設計,使我能把所學的 MA TLAB 應用到解決實際問題當
實 驗
中,能夠用 MATLAB 解決實際問題。 在實際動手操作過程中了解和掌握了相關知
總 結
識和技能,例如:如何對目标圖像進行去除背景,如何對目标圖像進行二值化轉
換,中值濾波等等。在本次實驗過程中,我通過查閱相關文獻來優化自己的實驗
設計,學到了很多課堂上學不到的知識。在實踐過程中,我加深了對所學的基本
知識和概念的掌握,并且充分認識到 MA TLAB 功能的強大。
在今後學習過程中,我會秉承知識與實