黃華盛,劉富昌,鐘曉樂,鄧?yán)^忠,黎偉燒
(華南農(nóng)業(yè)大學(xué)工程學(xué)院,廣東廣州 510642)
植物病害的田間調(diào)查是了解植物病害發(fā)生的重要工作,能夠為研究并認(rèn)識植病發(fā)生的規(guī)律、進(jìn)而進(jìn)行植物檢疫、植病防治及預(yù)測提供重要的第一手資料。傳統(tǒng)的植物病害田間專題調(diào)查的方式是在田間選取多個代表性的地塊,選點(diǎn)和取樣,通過分析植株或器官的受害程度,如葉片上病斑面積的百分比來估計植病的嚴(yán)重度。這種調(diào)查方法抽樣量非常大,對植病嚴(yán)重度的分級常采用鉛絲框、級片框或者人工估計,由此則導(dǎo)致植病的分級程度不準(zhǔn)確、調(diào)查人員的工作量大,而且為保證數(shù)據(jù)誤差不至于太大,在人工估計中,應(yīng)盡可能由同一個調(diào)查員評估數(shù)據(jù),否則會造成不同人員判定尺度不一的問題。因此,在田間調(diào)查中迫切需要一種能對植病嚴(yán)重度進(jìn)行精確測量且便于攜帶的儀器。圖像分析技術(shù)非常適于對田間葉片病斑程度的精確分析,但是基于傳統(tǒng)的CCD攝像機(jī)+PC機(jī)的圖像采集與分析模式,由于其價格、非便攜性等因素,無法應(yīng)用于田間調(diào)查的現(xiàn)場分析。由于移動通訊技術(shù)的發(fā)展,目前的智能手機(jī)功能強(qiáng)大、運(yùn)算速度不斷提升、價格不斷降低,而且手機(jī)搭載開放性的操作平臺,允許非預(yù)設(shè)軟件的安裝與使用,用戶完全可以自行開發(fā)第三方軟件,利用其拍照功能,對采集的圖像進(jìn)行現(xiàn)場處理與分析。
以智能手機(jī)作為開發(fā)平臺,利用其開放性與便攜性,開發(fā)一個能進(jìn)行植物圖像采集并進(jìn)行病害嚴(yán)重度識別的分析儀器,不僅有助于解決植物病害田間調(diào)查的準(zhǔn)確性問題,提高其分析效率與精度,而且攜帶方便,拓展了智能手機(jī)的實(shí)用功能。
操作系統(tǒng)位于應(yīng)用程序和硬件平臺之間,可以有效管理復(fù)雜的系統(tǒng)資源。智能手機(jī)的操作系統(tǒng)較為流行的有Android、Windows Mobile、Symbian等。操作平臺的選擇需要考慮系統(tǒng)的開放性、穩(wěn)定性、應(yīng)用支持及開發(fā)語言的支持等多個方面。Windows Mobile是微軟為移動終端設(shè)備提供的一個開放、標(biāo)準(zhǔn)的多任務(wù)操作系統(tǒng),它將用戶熟悉的Windows體驗擴(kuò)展到了移動環(huán)境中,廣泛應(yīng)用于智能手機(jī)、個人數(shù)字助理、隨身音樂播放器等移動終端設(shè)備,它的內(nèi)核是通用嵌入式操作系統(tǒng)Windows CE,其模塊化及可伸縮性、實(shí)時性能好,通信能力強(qiáng)大,提供了與無線通信相關(guān)的系統(tǒng)特性和UI界面風(fēng)格,針對智能手機(jī)和個人數(shù)字助理的特點(diǎn),提供了系統(tǒng)定制、應(yīng)用開發(fā)、平臺仿真等一系列工具??紤]系統(tǒng)的開放性及語言支持等因素,選擇操作系統(tǒng)為Windows Mobile 6.1 Professional或以上版本的智能手機(jī)作為開發(fā)平臺。
該田間植物病害圖像分析儀的軟件采用Visual Studio2008開發(fā)。由于智能手機(jī)上的應(yīng)用程序不能直接在PC機(jī)上運(yùn)行,而必須依靠Visual Studio附帶的智能設(shè)備模擬器來完成,因此早期版本的編程軟件如Visual C++6.0并不能完成智能設(shè)備程序的設(shè)計。同時,市場上的Windows Mobile智能手機(jī)一般已普遍使用6.1及以上版本的操作系統(tǒng),這是一個與運(yùn)行于PC機(jī)上的Visual C++極為相似的工具,就其特點(diǎn)而言,程序執(zhí)行效率高、對系統(tǒng)資源的消耗小。為支持該操作系統(tǒng),同時方便程序的設(shè)計和調(diào)試,選擇使用Visual Studio 2008完成軟件的設(shè)計。
基于智能手機(jī)的田間植物病害圖像分析儀的核心任務(wù)是完成葉片圖像采集與病斑面積百分比的分析。圖像分析儀可利用智能手機(jī)自帶攝像頭完成圖像的采集。由于在田間采集圖像時,光照的強(qiáng)弱、葉片與病斑顏色及田間背景等復(fù)雜多變,會造成圖像葉片區(qū)域與病斑區(qū)域自動分割較為困難。儀器擬采用人機(jī)交互方式,依據(jù)采集的圖像,以手寫筆或手指分別在手機(jī)屏幕圖像上描繪出葉片區(qū)域與植病病斑區(qū)域的輪廓,通過軟件分析即可獲得葉片區(qū)域與病斑區(qū)域的面積,系統(tǒng)再自動計算出病斑面積占葉片面積的百分比,由此得出植病的程度。交互方式提高了區(qū)域分割的準(zhǔn)確性與可靠性,圖像分割將不受光照、葉片與病斑顏色的影響。圖像在保存時,還可將每幅圖像與手機(jī)GPS定位信息起來,通過后續(xù)的計算機(jī)分析工作,可繪制出病害程度分布的地理信息圖。設(shè)計的圖像分析儀工作流程如圖1所示。
圖1 圖像分析儀工作流程
儀器在采集圖像時,可根據(jù)需要進(jìn)行圖像縮放,保證完整獲取葉片區(qū)域。圖像分析儀開發(fā)了圖像的反相、灰度化、亮度、飽和度及幾何校正等處理功能,以適應(yīng)田間光強(qiáng)、葉片與病斑顏色的變化,便于用戶更易用人眼分辨圖像的病斑區(qū)域并描繪輪廓。植物葉片面積計算及病害區(qū)域分析方法是:在內(nèi)存中創(chuàng)建一張同原圖像分辨率完全相同的空白圖像,在該空白圖像上勾勒出葉片圖像區(qū)域,再通過像素逐列掃描,計算出葉片的面積;利用相同的原理,在已勾勒葉片圖像上,利用畫筆勾勒出葉片的病害區(qū)域,便可得出葉片病害區(qū)域的面積以及病害程度。如果需要,可利用手機(jī)的GPS功能獲取采集地點(diǎn)的位置信息,通過圖片尾部附加法,將GPS定位信息寫入圖像,并附有讀取功能,便于以后進(jìn)行相關(guān)數(shù)據(jù)的統(tǒng)計分析。
1.4.1 圖像采集
圖像采集包括圖像拍攝與打開兩個環(huán)節(jié)。利用CameraCaptureDialog控件可完成圖像拍攝,使用前可事先設(shè)置好拍照的模式和儲存圖像的路徑,然后使用DLGCamera.ShowDialog()==DialogResult.OK判斷是否已經(jīng)拍照。一旦拍照,就返回原界面,并執(zhí)行打開圖像操作。通過OpenFileDialog輔助控件實(shí)現(xiàn)打開圖像。通過該語句可以獲取要打開圖像文件的名稱并傳遞給程序,然后以此文件名建立一個bitmap副本,并保存所打開圖像的尺寸等信息。完成上述操作的兩個核心語句為:
showgp=pictureBox1.CreateGraphics();//采用pictureBox顯示showgp里面的圖像。
srcrec = new Rectangle(0,0,img1.Width,img1.Height);//記錄了圖像的高和寬,利用它調(diào)整顯示圖像的位置和大小。
1.4.2 圖像處理
程序提供了圖像二值化、灰度化、亮度、飽和度及反相等幾個可供選擇的處理功能。其方法是讀取圖像中各個像素點(diǎn)的顏色,再對其進(jìn)行處理,核心語句為:
Color curColor;
curColor=img1.GetPixel(i,j);//獲取某像素點(diǎn)的顏色信息
1.4.3 病斑面積百分比計算
病斑面積百分比是指病斑區(qū)域總面積占整個葉面積的百分比。計算該參數(shù)的關(guān)鍵是獲取病斑區(qū)域與葉面區(qū)域的面積。區(qū)域面積的獲取方法是先用手寫筆在屏幕圖像上描繪出區(qū)域的輪廓線,然后計算輪廓線所圍區(qū)域面積??紤]到一般田間葉面圖像中純黑色極少,因此輪廓線選擇黑線表示,便于從圖像中識別其所圍面積。為完全消除圖像背景中純黑色對輪廓線的影響,也可以在描繪輪廓前先適當(dāng)調(diào)整整幅圖像的亮度,去掉背景的純黑色。
輪廓描繪需要對3個鼠標(biāo)事件進(jìn)行處理。
(1)事件1鼠標(biāo)按下,即手寫筆點(diǎn)擊屏幕。核心語句為:
pictureBox1_MouseDown(object sender,MouseEventArgs e)//鼠標(biāo)按下事件的處理,激活其他兩個鼠標(biāo)事件,同時記錄起始坐標(biāo)。
(2)事件2鼠標(biāo)移動。核心語句:
private void pictureBox1_MouseMove(object sender,MouseEventArgs e)//鼠標(biāo)移動事件的處理。
Thread.Sleep();//設(shè)置遲延,減少系統(tǒng)占用率,同時獲得一個新的坐標(biāo)。
newgraphics.DrawLine (p, startPoint.X, start-Point.Y,currentPoint.X,currentPoint.Y);//將新坐標(biāo)與前一個坐標(biāo)用黑線連起來。其中,p為線條的顏色,startPoint.X,startPoint.Y為起始坐標(biāo),currentPoint.X currentPoint.Y為當(dāng)前坐標(biāo)。
(3)事件3鼠標(biāo)釋放。核心語句:
pictureBox1_MouseUp(object sender,MouseEventArgs e)//鼠標(biāo)釋放事件的處理。
[微軟中國1]百分比計算采用的是行列掃描的方法。在每一次行掃描中,分別記錄兩次純黑色像素點(diǎn)的坐標(biāo),將兩點(diǎn)橫坐標(biāo)相減,則得到該行中黑線所圍的像素點(diǎn)數(shù),自上而下逐行掃描則可求出用黑線圍成區(qū)域的面積。用此方法分別求出受害面積總像素點(diǎn)數(shù)S1及葉面總像素點(diǎn)數(shù)S2,則可算出葉面受害情況。
田間植物病害圖像分析儀是基于Windows Mobile 6.1 Professional系統(tǒng)開發(fā)的,開發(fā)工具采用 Visual Studio 2008,開發(fā)語言采用C#,仿真平臺為Pocket PC 2003 SE。圖2為圖像分析儀的仿真效果。將開發(fā)的仿真程序下載到智能手機(jī)即可應(yīng)用。該軟件已在多臺智能手機(jī)上通過了測試。
圖2 系統(tǒng)仿真效果圖
基于Windows Mobile系統(tǒng)的田間植物病害圖像分析儀實(shí)現(xiàn)了在田間現(xiàn)場對植物病害進(jìn)行測量的功能,解決了植物病害田間調(diào)查中人工估算的主觀性強(qiáng)與準(zhǔn)確性差等問題,系統(tǒng)具有界面友好、操作簡便、測量精度高、便于維護(hù)、便于攜帶及成本低廉等特點(diǎn)。該儀器的采用將會大大減輕農(nóng)業(yè)技術(shù)人員的工作量,減少人為判斷誤差,提高工作效率,同時也拓展了智能手機(jī)的儀器功能。通過后續(xù)工作,還可以將田間病害程度與對應(yīng)的地理信息融合,形成直觀的田間病害分布圖。
[1] 王守正.植物病害調(diào)查與損失估計[J].農(nóng)業(yè)科學(xué)通訊,1957(7):399-400.
[2] 曹若彬,李德葆.植物病害調(diào)查研究的基本方法[J].浙江農(nóng)業(yè)科學(xué),1965(3):149-151.
[3] 楊之為,王汝賢.植物病害的田間快速調(diào)查法[J].植物保護(hù),1993(4):39-41.
[4] 傅曦.Windows Mobile手機(jī)應(yīng)用開發(fā)[M].北京:人民郵電出版社,2005.
[5] 李蘭友,王學(xué)彬.C#圖像處理程序設(shè)計實(shí)例[M].北京:國防工業(yè)出版社,2003.
[6] 鄧?yán)^忠,張?zhí)X.數(shù)字圖像處理技術(shù)[M].廣州:廣東科技出版社,2005.