杜翔宇
(南京理工大學 江蘇 南京 210094)
?
基于特征參數的水果識別系統
杜翔宇
(南京理工大學 江蘇 南京 210094)
本文基于Matlab識別一幅數字蔬菜水果圖像中的胡蘿卜、橘子、黃瓜和雞蛋。整個識別過程涉及圖像數據獲取、對比度增強、去噪,二值化、標簽化、特征參數計算、水果識別等過程。為了彌補由于原始圖像中灰度分布不均勻和光照等因素的影響而造成的二值化后圖像出現的斷邊和同一類水果中出現的孔洞,借助Sobel算子進行邊緣提取以接合斷邊,基于數學形態學算子填充二值化圖像中出現的孔洞。
圖像識別;二值化;特征參數;Matlab
隨著計算機的普遍使用,人類已經進入了一個高速發展的信息化時代,圖像處理技術也愈來愈成為科學技術領域中必不可少的手段。計算機圖像處理與圖像識別的關系非常密切。一般圖像處理包括編碼、增強、壓縮、復原和分割等內容。
我國是世界蔬菜、水果大國,但由于品種結構等問題,水果分級分類基本上由人工完成。這種方式雖然方便,但也造成了勞動量大、生產率低的問題。機械分揀具有短時、高效等特點。因此,研究和開發水果識別系統具有重要意義。
本系統基于MATLAB軟件進行水果識別。MATLAB是一個交互式軟件系統,具有很強的數值計算功能和編程功能;具有結構控制,函數調用,輸入輸出等程序語言特征;有豐富的工具箱,圖像處理就是其中一個功能強大的工具。
MATLAB的推出得到了各個領域專家學者的廣泛關注,其強大的擴展功能為各個領域的應用提供了基礎。它的工具箱主要有通信、控制系統、濾波器設計、圖像處理、非線性控制設計、系統識別、神經網絡、最優化、模糊邏輯、信號處理、魯棒控制、統計等,而且工具箱還在不斷的增加。借助這些工具,各個層次的研究人員可直觀方便地進行分析、計算及設計工作,從而大大地節省了時間。為此,MATLAB已經成為目前最廣泛的工程應用軟件。
(一)計算機讀取圖像
為了在計算機上進行處理,必須把作為處理對象的模擬圖像轉換成數字。為了得到理想的二值圖像,一般采用閾值分割技術。閾值分割技術主要利用圖像中背景與對象之間的灰度差異。理想狀態下,背景與對象之間灰度差異很大,且同一個對象有基本相同的灰度值。
(二)圖像的二值化
所謂圖像的二值化,就是使圖像上所有點的灰度值不是“0”就是“255”,也就是使整個圖像呈現出黑白效果圖像的二值化通常采用閾值法。閾值法是一種簡單有效的圖像分割方法,它用一個或幾個閾值將圖像的灰度級分為幾個部分,將屬于同一部分的像素視為相同的物體。利用閾值法,對于物體與背景之間存在明顯差別(對比)的景物,分割效果十分有效。只要閾值選取合適,將每個像素與之比較,進行二值化或者半二值化處理,就可以很好地將對象從背景中分離出來。
(三)算法
(1)形態學基本運算
形態學圖像處理表現為一種鄰域運算形式。有一種特殊定義的鄰域稱為“結構元素”(StructureElement),在每個像素位置上它與二值圖像對應的區域進行特定的邏輯運算,運算結果為輸出圖像的相應像素。形態學運算的效果取決于結構元素的大小、內容以及邏輯運算的性質。常見的形態學運算有腐蝕和膨脹兩種。常用的簡單對稱結構元素有:圓形(disk)、方形(square)、菱形(diamond)。
①腐蝕(imerode):腐蝕是一種消除邊界點,使邊界向內部收縮的過程。利用該操作,可以消除小且無意義的物體。
②膨脹(imdilate):膨脹是將與物體接觸的所有背景點合并到該物體中,使邊界向外部擴張的過程。利用該操作,可以填補物體中的空洞。
③開運算(imopen):先腐蝕后膨脹的過程稱為開運算。利用該運算可以消除小物體,在纖細點處分離物體,平滑較大物體的邊界,同時并不明顯改變原來物體的面積。
④閉運算(imclose):先膨脹后腐蝕的過程稱為閉運算。利用該運算可以填充物體內細小的空洞,連接鄰近物體,平滑其邊界,同時并不明顯改變原來物體的面積。
(2)為了使程序簡單,將程序邊緣計算的方法統一給出,可以簡化程序。
①周長計算:利用邊界的像素之和代表周長;②面積計算:利用imfill函數填充圖像區域,for語句計算區域的像素和來代表面積;③圓度計算:物體的形狀不一,通過圓度計算可以提取出圓形的圖片;④對于形狀大小接近的圖像,可以采用計算平均色度的方法。將圖片轉化為HSV各式,for語句將矩陣各個位置的像素相加和平均實現。
測試圖中黃瓜可以利用平均圓率分離出,調整im2bw的閾值突出黃瓜然后分離。胡蘿卜可以通過最大面積分離。橘子利用圓度分離。雞蛋由于亮度接近白色,可使用平均色度的方法。
界面設計。界面設計入手對比較難,我通過比對其他程序的界面學習,發現其實原理比較簡單,類似于超鏈接。
1、程序利用HSV格式圖片完成了參數提取,還將分割的圖片從二值圖變成RGB彩色圖,實現彩色圖的提取,并且物體位置不變。
2、程序同時利用課上所學,完成圖片灰度化,二值化的轉化,并進行開運算,通過腐蝕膨脹的方法使輪廓清晰,并提取邊緣圖。
3、給出了圖片的灰度直方圖和灰度直方圖的均衡化。
4、制作界面,通過按鈕實現圖片提取,實現文件讀取和關閉。
基于MATLAB軟件建立起來的識別系統,可以進行對黃瓜、胡蘿卜、橘子和雞蛋的識別。通過與實物圖的對比,提取效果比較好。在此基礎上進行程序的拓展和豐富,可以適用于各種大型的綜合性的水果識別和分揀場合。
[1]岡薩雷斯(Gonzalez,R.C.)等著;阮秋琦等譯.數字圖像處理[M].第3版.電子工業出版社.2011
[2]胡小風,趙輝.VisualC++/MATLAB圖像處理與識別實用案例精選[M].北京郵電出版社.2004
[3]劉剛.MATLAB數字圖像處理[M].機械工業出版社.2010
[4]高成.Matlab圖像處理與應用[M].國防工業出版社.2007
[5]高展宏等.基于MATLAB的圖像處理案例教程[M].清華大學出版社.2011
[6]王曉丹等.基于MATLAB的系統分析與設計[M].西安電子科技大學出版社.2000
[7]徐惠榮.基于機器視覺的樹上柑桔識別方法研究[D].浙江大學.2004
[8]丁亞蘭.基于機器視覺的獼猴桃果實識別與定位關鍵技術研究[D].西北農林科技大學.2009
杜翔宇(1995.12-),男,漢族,河北人,本科在學,南京理工大學,光電信息科學與工程。