大蒜在我國種植面積廣泛,年產量約 175 萬t,出口 31 萬 t,出口規模為世界第一。由于不同國家對大蒜規格要求不同,我國作為大蒜的主要生產和出口國,要使大蒜產生巨大的經濟效益必須適應國際市場對大蒜的規格要求,如: 美國、日本市場要求柄長為 2 cm; 東南亞地區要求規格均勻,柄長不超過 2. 5 cm 等。根據金誠謙等[2]研究,要使大蒜蒜瓣的形狀規則、大小均勻,那么在種植大蒜時,就要使蒜瓣直立瓣尖朝上種植。因此,在機械化的大蒜種植時,使蒜瓣瓣尖朝上種植成為大蒜機械種植中研究的關鍵問題。
隨著圖像處理技術的不斷發展,以計算機為基礎的圖像處理應用越來越廣。如人臉的識別,車牌的識別以及種子的面積、邊緣,根據種子圖像識別胚芽的位置等等。本文采用圖像處理,以蒜瓣為研究對象,應用圖像處理中的大蒜蒜瓣的原始圖像,對其進行灰度處理、中值濾波、二值化、邊緣檢測和角點檢測識別大蒜瓣尖,并利用 Mat-lab7. 1 軟件編寫能夠判斷大蒜瓣尖朝向的程序,實現計算機根據蒜瓣圖像識別蒜尖的朝向。
1 圖像獲取及處理
大蒜蒜瓣的圖像通過采用 CCD 數碼相機在分辨率 640 ×480 下獲取,每個像素點大小為 320× 240 矩形區域。 圖像處理在計算機上完成(CPU 2. 0G) .操作系統為 Windows XP,工程計算軟件以 MATLAB 7. 1 的圖像處理工具箱作為圖像處理和分析主要平臺。
考慮到實際圖像采集過程中,大蒜蒜瓣圖像會遇到各種隨機噪聲干擾,在圖像上產生不可預測的隨機噪音,形成不需要的孤立像素點,對大蒜蒜瓣圖像區域分割、分析和判斷帶來不利影響。因此,為避免噪音像素點造成的圖像處理中不能正確反映大蒜蒜瓣信息的問題,采用非線性的中值濾波去除大蒜蒜瓣圖像噪聲干擾的方法,既可去除噪聲又保護了圖像的邊緣清晰的特性。
采用中值濾波把大蒜蒜瓣圖像中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近真實值,從而消除孤立的噪聲點。
同時在大蒜蒜瓣圖像平滑的處理中,將含有一定數目像素的滑動窗口各點灰度值的中值來代替指定點的灰度值。對于奇數個元素,中值為大小排序后中間的數值; 對于偶數個元素,中值為排序后中間兩個元素灰度值的平均值。本文采用 3× 3 窗口對圖像進行平滑處理,如圖 1 所示,運用中值濾波算法對蒜瓣原始灰度圖像濾波后的圖像如圖 2 所示。
1. 1 圖像二值化
相機拍攝到的圖像是大蒜蒜瓣的彩色圖像,在進行圖像處理時,為了提高速度和效率,需要將大蒜的彩色圖像進行二值化處理,使得圖像變得簡單,而且數據量減少。首先將大蒜蒜瓣圖像轉換為灰度圖像,再進行閾值化處理,將灰度圖像轉換為二值圖像。
數碼相機拍攝的圖像為彩色圖像,為了進一步提高圖像處理速度和效率需將其轉換成二值圖像。首先將彩色圖像轉換成灰度圖像,然后用閾值化處理,即選擇一個閾值 T,將圖像轉換為二值圖像。圖像的二值化處理的變換函數表達式,即
為了使大蒜蒜瓣圖像能夠從灰度圖像中形成而知圖像分離出來,并且突出大蒜圖像的點陣,通過直方圖求出二值圖像的閾值。在直方圖中,采用圖像中的目標和背景形成的兩個波峰之間低谷的灰度值 T 作為閾值對大蒜蒜瓣圖像進行二值化處理,如圖 3 所示。
1. 2 蒜瓣圖像 Canny 邊緣檢測
對大蒜蒜瓣圖像進行的二值化處理,得到二值圖像。再進行圖像的邊緣檢測,從而獲取圖像的邊緣二值圖像,采用 Canny 邊緣檢測算法對大蒜蒜瓣的形狀特征和邊緣檢測信息進行提取,識別出圖像中的實際邊緣。在大蒜蒜瓣邊緣的二值圖像的 Canny 邊緣檢測時,先通過濾波器平滑圖像,使圖像平滑均勻,同時抑制噪聲; 用一階偏導的有限差分計算大蒜蒜瓣圖像梯度的幅值和方向; 再對梯度幅值進行非極大值抑制; 最后用雙閾值算法檢測和連接邊緣,得到大蒜蒜瓣邊緣為白色輪廓,蒜體和蒜瓣之外區域為黑色背景的邊緣圖像。
因此,采用 Canny 邊緣檢測進行籽粒二值圖像的處理,既可有效抑制噪聲,又可精確確定邊緣位置,所以該算法可以在檢測邊緣時取得較好地平衡。采用 Canny 邊緣檢測算法獲得的邊界圖像如圖 4 所示。
2 基于 SUSAN 的大蒜瓣尖識別算法
2. 1 大蒜瓣尖特征分析
由于大蒜瓣尖的特殊性,在經過二值化和邊緣檢測之后形成的圖像是大蒜的邊緣曲線,通過對大蒜邊緣圖像分析可知大蒜蒜瓣的蒜頭和蒜尖是整個大蒜蒜瓣彎曲最大的部分,而大蒜瓣尖是最尖的地方。因此,識別出圖像中大蒜瓣尖的位置,即可以識別出大蒜瓣尖方向。曲率是表明曲線在某一點的彎曲程度的數值,曲率越大,表示曲線的彎曲程度越大。因此,分析大蒜蒜瓣的彎曲程度,用曲率作為尖端的特征參數,就可以識別出大蒜二值圖像中的瓣尖位置。
2. 2 大蒜瓣尖的識別方法
大蒜邊緣二值圖像是由一個個的像素點組成,這些點組成的邊緣曲線實際上是一系列的離散曲線。通過對邊緣二值圖像的離散點進行分析,計算離散曲率成為大蒜蒜瓣邊緣曲線分析的一個難點。由于大蒜蒜瓣的邊緣二值圖像蒜尖和蒜頭出的彎曲較大,因此,對圖像分析可以不需要找到邊界上的每一個點的實際曲率,只要計算出這些點中曲率最大的點,該點所對應的大蒜蒜瓣的位置即為蒜尖位置。
基于 SUSAN 角點檢測算法的圖像識別可以準確的計算出圖像中的角點,該算法利用一個核的中心圓形掩膜,在大蒜蒜瓣二值邊緣圖像的整個區域內移動這個掩膜,與黑色區域接觸,在掩膜所處的黑色區域內,這些點與掩膜和的灰度值如果相近,就構成同化核分割相同值區域,即 US-AN.根據 SUSAN 算子計算 USAN 值的大小來判斷大蒜蒜瓣的角點,角點值越小,角點處越尖,曲率越大,再由曲率值計算確定大蒜瓣尖的位置。