• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于.NET的智能蔬菜病蟲害診斷與防治專家系統(tǒng)構(gòu)建

      2013-10-10 01:22:02王久興劉介丹陳秀敏
      河北科技師范學院學報 2013年2期
      關(guān)鍵詞:控件農(nóng)資病蟲害

      王久興,劉介丹,陳秀敏

      (河北科技師范學院,河北 秦皇島,066600)

      農(nóng)業(yè)專家系統(tǒng)是運用人工智能技術(shù),匯集農(nóng)業(yè)知識和專家經(jīng)驗,采用適宜的知識表示技術(shù)和推理策略,為生產(chǎn)及管理者提供咨詢服務的計算機軟件,已在現(xiàn)在農(nóng)業(yè)生產(chǎn)上得到了廣泛的應用,對推動農(nóng)業(yè)發(fā)展發(fā)揮了重要作用[1~3]。蔬菜生產(chǎn)關(guān)系到國計民生,正確診斷與防治病蟲害對提高種植效益,獲得無公害產(chǎn)品尤為重要。為此,筆者曾研制了蔬菜病蟲害輔助診斷與防治系統(tǒng)[4]。而智能蔬菜病蟲害診斷與防治專家系統(tǒng)則是在此基礎(chǔ)上,依托生產(chǎn)實踐經(jīng)驗、植保知識和相關(guān)科研成果,構(gòu)建知識庫,通過優(yōu)化結(jié)構(gòu)設計和友好的人機界面,幫助用戶對蔬菜病蟲害做出正確診斷,并提供相應的防治方法。

      1 開發(fā)工具及環(huán)境

      智能蔬菜病蟲害診斷與防治專家系統(tǒng)采用C#語言、在.NET3.5環(huán)境下開發(fā),系窗體應用程序,采用C/S架構(gòu),數(shù)據(jù)庫可以是Access,Sql Server,Oracle其中的任一種,數(shù)據(jù)庫連接組件采用ADO.NET中的OLEDB數(shù)據(jù)提供程序。之所以采用窗體應用程序,是因為數(shù)據(jù)庫中有大量的圖片信息,需要有較高的采集效率和較快的顯示響應速度。

      2 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的結(jié)構(gòu)設計

      2.1 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的設計思想

      專家系統(tǒng)需要有大量數(shù)據(jù)的支撐,因此決定了此應用程序是以數(shù)據(jù)為中心的系統(tǒng)。本系統(tǒng)采用分層的組件設計思想,分為DB層、DTO層、BL層和UI層,同時有一個Utils自定義工具組件。每一層都是一個單獨的程序集組件,與其它層可最大程度地分離,同時通過對此層所對應的程序集的引用來調(diào)用此層中的功能,每一層都是一個單獨的類庫。其中,DB層為數(shù)據(jù)訪問層,完成對數(shù)據(jù)庫的直接數(shù)據(jù)操縱,采用的系統(tǒng)類庫是OLEDB數(shù)據(jù)提供程序,位于System.Data.OleDb命名空間,可以連接和操縱Access,Sql Server,Oracle等多種數(shù)據(jù)庫,最大程度地滿足用戶對于數(shù)據(jù)庫的擴展性要求。DTO層為數(shù)據(jù)傳輸對象層,與數(shù)據(jù)庫的各個表結(jié)構(gòu)相對應,用來獲取表結(jié)構(gòu)如字段和關(guān)系的信息,同時派生出BL層。BL層是業(yè)務邏輯層,用來處理系統(tǒng)所需的基礎(chǔ)數(shù)據(jù),調(diào)用DB層的數(shù)據(jù)訪問功能,從而實現(xiàn)各個數(shù)據(jù)表對應的數(shù)據(jù)的業(yè)務邏輯的執(zhí)行,供用戶界面層直接調(diào)用,實現(xiàn)用戶界面層與業(yè)務邏輯層的分離,從而便于維護、擴展以及分布式部署。UI層為用戶界面層,與用戶交互,采用窗體形式,其后的控件的事件過程代碼調(diào)用BL層的功能。Utils層為工具層,為公共的函數(shù)庫,完成從數(shù)據(jù)庫中讀取圖片、向數(shù)據(jù)庫中存儲圖片以及讀取、設置數(shù)據(jù)庫的連接字符串、密碼的加密傳輸?shù)裙驳牟僮鳌?/p>

      2.2 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的基本結(jié)構(gòu)

      系統(tǒng)分為智能診斷、瀏覽查詢、推薦農(nóng)資、數(shù)據(jù)管理4個主模塊。其中數(shù)據(jù)管理是基礎(chǔ)模塊,為系統(tǒng)提供基礎(chǔ)數(shù)據(jù)的組織、錄入、管理、存儲,其余3個模塊是應用模塊。數(shù)據(jù)管理模塊又分為蔬菜信息管理、病蟲害信息管理、農(nóng)資信息管理、蔬菜病蟲害管理、特征圖片管理、治療方案管理、角色管理、用戶管理8個模塊(圖1)。

      圖1 智能蔬菜病蟲害診斷與防治專家系統(tǒng)結(jié)構(gòu)

      2.3 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的數(shù)據(jù)訪問

      采用ADO.NET中的OLEDB數(shù)據(jù)提供程序訪問數(shù)據(jù)庫。當UI層以數(shù)據(jù)網(wǎng)格形式操縱數(shù)據(jù)時,采用的是無連接的適配器訪問模式,即使用數(shù)據(jù)適配器DataAdapter對象直接填充到數(shù)據(jù)集之中,然后將DataGrid數(shù)據(jù)綁定到此數(shù)據(jù)集的一個數(shù)據(jù)表之上,從而完成數(shù)據(jù)的顯示工作。對于此數(shù)據(jù)源的添加、刪除、修改等更新操作,由數(shù)據(jù)適配器自動記錄,然后由程序調(diào)用DataAdapter的update方法把數(shù)據(jù)的更新操作回寫到數(shù)據(jù)庫之中。其中用到的主要對象有OleDbConnection,OleDbCommand,OleDbDataAdapter,DataSet,OleDbCommandBuilder。當UI層操作數(shù)據(jù)顯示功能時,采用有連接的形式,主要使用OleDb-Connction,OleDbCommand,OleDbDataReader等3 個對象完成。

      3 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的核心功能模塊及其功能

      3.1 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的智能診斷模塊

      智能診斷模塊按照種類對蔬菜信息分類,用樹形圖和常用按鈕項進行組織,其中常用按鈕項動態(tài)配置,滿足不同用戶個性需求。當用戶點擊某蔬菜結(jié)點或按鈕時,特征圖片區(qū)就會顯示此蔬菜對應的所有特征癥狀圖片,每張圖片配有簡短文字說明,對圖片可進行縮放操作。用戶通過比對,對特征圖片進行勾選。系統(tǒng)根據(jù)在數(shù)據(jù)管理模塊中錄入的基礎(chǔ)數(shù)據(jù)進行計算和判斷,從而推導出病蟲害名稱。用戶繼續(xù)點擊相應的“詳細信息”按鈕查看該病蟲害的所有癥狀圖片、文本以及治療方案。

      3.2 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的瀏覽查詢模塊

      在瀏覽查詢模塊中,按照蔬菜及病蟲害的分類,瀏覽和查詢各種蔬菜病蟲害的圖片和文字內(nèi)容。分3級顯示,第1級為病蟲害種類,分為侵染性病害、生理性病害、蟲害3類,第2級為蔬菜種類,分為瓜類、茄果類、豆類、白菜類、甘藍類、蔥蒜類、根菜類、薯芋類等12類,第3級為具體的蔬菜病蟲害。

      每種蔬菜的侵染性病害數(shù)據(jù)內(nèi)容分圖片和文字兩部分,圖片內(nèi)容包括不同發(fā)病時期(前期、中期、后期)和不同發(fā)病部位(根、莖、花、葉、果)的發(fā)病癥狀圖片和對應的病原形態(tài)學顯微照片,文本內(nèi)容為該病害的英文名稱、別名、癥狀描述、病原、發(fā)病規(guī)律、防治方法等詳細信息。

      每種蔬菜生理性病害的圖片內(nèi)容包括不同發(fā)病時期(前期、中期、后期)和不同發(fā)病部位(根、莖、花、葉、果)的發(fā)病癥狀圖片,文本內(nèi)容為該病害的英文名稱、別名、癥狀描述、發(fā)病原因、防治方法等詳細信息。

      每種蔬菜蟲害的圖片內(nèi)容包括蔬菜不同部位(根、莖、花、葉、果)的受害癥狀以及害蟲不同蟲態(tài)(卵、幼蟲、蛹、成蟲)的形態(tài)圖片,文本內(nèi)容為該害蟲的英文名稱、別名、拉丁文學名、分類、為害特點、形態(tài)特征、生活習性、發(fā)生規(guī)律、防治方法等詳細信息。

      在瀏覽查詢界面,蔬菜病蟲害的顯示分為詳細樹形圖列表和常用蔬菜病蟲害按鈕兩種形式,且常用按鈕是可以動態(tài)配置的。對所有圖片可以進行放大、縮小、全屏顯示、移動等操作,便于用戶觀察癥狀細節(jié)??梢酝ㄟ^點擊按鈕,查看此病蟲害的文本,并可打印文本,可以瀏覽推薦農(nóng)藥??梢园凑帐卟瞬∠x害的名字檢索相應的信息。

      3.3 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的農(nóng)資模塊

      農(nóng)資層次信息同樣以樹形圖的形式組織,當點擊每個結(jié)點時,其所下轄的具體農(nóng)資便會顯示在數(shù)據(jù)網(wǎng)格中,同時與此種農(nóng)資相關(guān)的治療方案也會呈現(xiàn)出來。點擊每一種農(nóng)資,即可查看相應的圖片和文本介紹。

      3.4 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的數(shù)據(jù)管理模塊

      數(shù)據(jù)管理模塊分8個子模塊(圖2)。

      蔬菜信息管理模塊,下轄蔬菜類別、具體蔬菜信息的添加、刪除、修改等操作。

      病蟲害信息管理模塊,下轄病蟲害類別、具體病蟲害信息的添加、刪除、修改等操作。

      農(nóng)資信息管理模塊,完成農(nóng)資層次樹的建立、修改、刪除操作,實現(xiàn)農(nóng)資層次的無限擴展,適合于任一形式的層次存儲結(jié)構(gòu),完成對農(nóng)資的添加、刪除、修改等操作,同時存取此農(nóng)資對應的圖片和文本數(shù)據(jù)信息。農(nóng)資的層次關(guān)系是一個樹形的多級不遞歸且層次確定的數(shù)據(jù)結(jié)構(gòu),層次下面有若干子層,子層下面又再分為若干次一級子層,從而便于程序的擴展性,當刪除某一層時,下面的所有子層(包括直接子層和間接子層)也會被遞歸刪除。這樣的結(jié)構(gòu)是建立在數(shù)據(jù)庫某個表結(jié)構(gòu)中的,對于每一條記錄,有ID,Name,ParentID幾個關(guān)鍵字段,ID是自動遞增數(shù)字,也是主鍵,Name是農(nóng)資的名稱,ParentID是其直接父級ID號,即此表的ID既是主鍵也是外鍵,當某一條記錄是最高層時,其ParentID設為-1。

      蔬菜病蟲害模塊,由蔬菜和病蟲害信息依照“多對多”的關(guān)系組合而成,抽取各自的主鍵,形成蔬菜病蟲害信息表,完成對其添加、刪除、修改等的操作。同時,與此具體蔬菜病蟲害相關(guān)聯(lián)的圖片數(shù)據(jù)和文本數(shù)據(jù)被錄入到數(shù)據(jù)庫中,實現(xiàn)對圖片數(shù)據(jù)和文本數(shù)據(jù)的添加、刪除、修改等的操作。其中,圖片輸入的基本流程為,將圖片從文件流中讀到字節(jié)數(shù)組中,然后將字節(jié)數(shù)組中的數(shù)據(jù)再讀到數(shù)據(jù)庫中,因此要為文件建立1個文件流,用文件流的Read()方法將該文件的數(shù)據(jù)讀入本地的字節(jié)數(shù)組之中。

      特征圖片管理模塊,主要完成特征圖片的設置。管理由發(fā)病部位如葉、花、果、莖、根以及蟲態(tài)如卵、幼蟲、蛹、成蟲等構(gòu)成的特征類,實現(xiàn)對這些特征類的添加、刪除、修改等操作。并對圖片信息進行分類,對特征類所下轄的圖片信息實現(xiàn)添加、刪除、修改等的操作。只記錄圖片的主鍵信息,不重復存取圖片數(shù)據(jù)。

      治療方案管理模塊,設置已錄入農(nóng)資與蔬菜病蟲害的對應關(guān)系,農(nóng)藥和蔬菜病害之間是“多對多”關(guān)系,并實現(xiàn)對治療方案的添加、刪除、修改等操作。

      角色管理模塊,將特定的角色與一組特定的權(quán)限相關(guān)聯(lián),當某個用戶從屬于某個角色時,即擁有與該角色相對應的權(quán)限。本系統(tǒng)充分使用了.NET之中的反射機制,權(quán)限控制嚴格、分配細致,能夠通過設置將角色所對應的權(quán)限細致到每一個按鈕或每一個菜單項,從而隨意控制用戶使用某個特定控件的權(quán)利,而該控件的事件過程就執(zhí)行了程序中的一定的邏輯,對控件的使用權(quán)就意味著是否有執(zhí)行程序中某一個功能模塊的權(quán)利,從而達到控制權(quán)限的目的。所使用的數(shù)據(jù)庫的表有Users,Roles,Priveleges,F(xiàn)unctions,用戶登錄后,查詢它所屬的角色號,由角色號查詢Privelegs表,從而得到能夠控制的功能號(funID),由funID號確定此邏輯功能是由系統(tǒng)中的哪些控件的事件處理程序來實現(xiàn)的,然后把控件的名字和所屬窗體名字保存到一個全局的集合之中,每當窗體加載時,根據(jù)集合中保存的控件的信息來決定此窗體中的各控件是否可用。

      用戶管理模塊,執(zhí)行添加、刪除、修改用戶的功能。執(zhí)行用戶注銷功能,使當前用戶退出,重新回到數(shù)據(jù)管理的登錄窗口。

      圖2 智能蔬菜病蟲害診斷與防治專家系統(tǒng)的數(shù)據(jù)管理界面

      4 結(jié)論與討論

      農(nóng)業(yè)專家系統(tǒng)的最終使用效果,主要取決于如何解決計算機技術(shù)與農(nóng)業(yè)知識的結(jié)合問題[5,6]。本系統(tǒng)大量采集田間實拍照片,總結(jié)實踐經(jīng)驗,整合科研成果,并根據(jù)蔬菜病蟲害的發(fā)病特點和規(guī)律,構(gòu)建了大型知識庫,通過獨特的特征圖片比對等技術(shù),實現(xiàn)了對蔬菜病蟲害的瀏覽、查詢、診斷、防治等多種功能。目前,該系統(tǒng)已在全國30多個省、市、自治區(qū)得到應用。

      由于本系統(tǒng)是以圖片庫為支持的,要求瞬間從數(shù)據(jù)庫中讀取幾十乃至幾百張圖片,需要解決占用大量內(nèi)存的問題,雖然采用了一定的方法,但仍無完美的解決方案。另外,對于圖像的模擬識別及其與植物樣本匹配等智能性問題,還有待進一步研究[7,8]。

      [1]李朝東,崔國賢,盛暢,等.農(nóng)業(yè)專家系統(tǒng)的發(fā)展概況與展望[J].農(nóng)業(yè)網(wǎng)絡信息,2009(2):4-7,12.

      [2]王霓,張艷榮,遲雨佳.東北地區(qū)速生豐產(chǎn)林病蟲害專家系統(tǒng)的設計與實現(xiàn)[J].北京林業(yè)大學學報,2009,31(增刊2):27-30.

      [3]陳步英,胡利平.棉花病蟲害專家系統(tǒng)的構(gòu)建[J].農(nóng)機化研究,2010(11),146-149.

      [4]賀桂欣,王久興,李卓,等.蔬菜病蟲害輔助診斷與防治系統(tǒng)VPS的構(gòu)建[J].河北科技師范學院學報,2005,19(3):57-58.

      [5]高天琦,金寶石.基于WEB的大豆病蟲害專家系統(tǒng)構(gòu)建[J].黑龍江八一農(nóng)墾大學學報,2009,21(5):65-68.

      [6]劉任,劉杰,黃建民,等.基于Web的植物病蟲害專家系統(tǒng)的設計與應用[J].天津農(nóng)業(yè)科學,2012,18(3):95-98.

      [7]孫敏,姚海燕.園藝植物專家系統(tǒng)研究概況與發(fā)展趨勢[J].安徽農(nóng)業(yè)科學,2012,40(2):1 213-1 216.

      [8]張葳,楊春雨.基于ASP.NET的玉米病蟲害專家系統(tǒng)研究[J].黑龍江科技信息,2012(3):68.

      猜你喜歡
      控件農(nóng)資病蟲害
      春季葡萄苗病蟲害咋樣防治
      夏季玉米主要病蟲害有哪些
      三招搞定花卉病蟲害
      中老年保健(2021年5期)2021-08-24 07:08:52
      送農(nóng)資增收致富添助力
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      農(nóng)資人,你是否看見魚在流淚?
      營銷界(2015年25期)2015-08-21 07:25:02
      一個幸福的農(nóng)資人
      營銷界(2015年25期)2015-08-21 07:25:02
      參加農(nóng)資展會,細節(jié)絕不能丟
      營銷界(2015年25期)2015-08-21 07:24:48
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      梨病蟲害防治時間表
      锦屏县| 关岭| 衡水市| 开原市| 临桂县| 华亭县| 昌平区| 苍南县| 义乌市| 古丈县| 乌苏市| 沙河市| 中超| 革吉县| 盐津县| 荔波县| 德江县| 南充市| 古丈县| 绍兴市| 古交市| 清水县| 凌云县| 小金县| 广水市| 饶平县| 蒙山县| 阿勒泰市| 饶河县| 日土县| 虎林市| 府谷县| 菏泽市| 射阳县| 长武县| 周宁县| 剑阁县| 张家口市| 长兴县| 山东省| 托克逊县|