亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        自適應(yīng)圖像壓縮的水稻病害診斷平臺

        2018-10-15 05:58:56劉小紅
        關(guān)鍵詞:服務(wù)端服務(wù)器端圖像處理

        劉小紅

        (湖南信息學(xué)院,湖南 長沙 410151)

        0 引 言

        水稻病蟲害對糧食生產(chǎn)造成極大威脅,嚴(yán)重影響糧食的產(chǎn)量。病蟲害的正確識別和診斷是準(zhǔn)確防治的前提和基礎(chǔ),是提高糧食產(chǎn)量的根本保障。近年來農(nóng)業(yè)病蟲害診斷和識別的研究已成為熱點(diǎn),隨著手機(jī)應(yīng)用的不斷普及和手機(jī)附有攝像頭、攜帶方便等特點(diǎn),已有國內(nèi)外學(xué)者利用Android手機(jī)在病蟲害診斷方面進(jìn)行了深入研究,大致分為二種情況:一種情況是提出通過移動終端采集害蟲圖像直接傳遞給服務(wù)器,服務(wù)器端對接收的圖像進(jìn)行識別和處理[1-2];另一種情況是利用OpenCV在手機(jī)端對水稻病害圖像進(jìn)行識別處理[3]。前者由于Android端將圖片直接上傳,大容量圖片會消耗數(shù)據(jù)流量,可能會出現(xiàn)上傳緩慢、網(wǎng)絡(luò)傳輸噪聲等問題,從而導(dǎo)致病蟲害診斷準(zhǔn)確率不是很高或失誤。后者由于手機(jī)拍攝的圖片占用大量的數(shù)據(jù)存儲空間,加上移動終端硬件的配置使得圖像處理能力有限,影響系統(tǒng)識別的實(shí)時性;再者SQLite數(shù)據(jù)庫不適合大量圖像檢索計(jì)算,在手機(jī)端實(shí)現(xiàn)圖像的精確識別有難度。

        針對以上問題,以水稻常見的病害為研究對象,利用移動互聯(lián)網(wǎng)技術(shù),文中提出將移動端采集的病害圖像進(jìn)行自適應(yīng)壓縮處理,保證圖像的清晰度并降低圖片容量大小后再上傳、在服務(wù)端對圖像進(jìn)行識別處理并返回結(jié)果的方法,并基于移動客戶端開發(fā)了水稻病害圖像識別系統(tǒng),實(shí)現(xiàn)水稻病害的及時診斷,解決圖像上傳緩慢、診斷延誤或失誤、移動端圖像處理能力有限等問題。

        1 系統(tǒng)總體架構(gòu)

        根據(jù)系統(tǒng)的功能需求以及架構(gòu)的設(shè)計(jì)原則,采用了C/S架構(gòu)。系統(tǒng)架構(gòu)具體劃分為三層:客戶層、通信層、服務(wù)層。系統(tǒng)結(jié)構(gòu)如圖1所示。

        圖1 系統(tǒng)架構(gòu)

        (1)客戶層。手機(jī)客戶端選擇JDK+Eclipse+Android NDK+ADT插件等主流應(yīng)用技術(shù)進(jìn)行開發(fā)[4];農(nóng)業(yè)種植人員或?qū)I(yè)技術(shù)人員通過手機(jī)客戶端在田間可隨時隨地采集病害圖片、壓縮處理后上傳,并進(jìn)行病害的診斷、查詢及防治建議,結(jié)果以文字和圖片等形式返回。

        (2)通信層。采用4G網(wǎng)絡(luò),將客戶層與服務(wù)層進(jìn)行互聯(lián)。根據(jù)系統(tǒng)特點(diǎn)采用Http協(xié)議作為網(wǎng)絡(luò)通信技術(shù),并引入JSON輕量級數(shù)據(jù)轉(zhuǎn)換格式,實(shí)現(xiàn)客戶端和服務(wù)器端的跨平臺數(shù)據(jù)傳輸[5-8]。

        (3)服務(wù)層。服務(wù)端配置為Tomcat服務(wù)器,利用Servlet技術(shù)響應(yīng)對不同客戶端發(fā)來的HTTP請求。主要負(fù)責(zé)監(jiān)聽、接收圖片,并對圖片進(jìn)行去噪、分割、特征提取、病害識別等圖像處理操作[9-13],保證病害診斷系統(tǒng)的正常運(yùn)行。

        2 客戶端設(shè)計(jì)與實(shí)現(xiàn)

        客戶端APP主要在JDK1.8+Eclipse+Android SDK+NDK+ADT平臺上開發(fā),使用Java語言編寫,APP運(yùn)行于Android平臺上。

        2.1 診斷流程

        農(nóng)業(yè)種植人員或?qū)I(yè)技術(shù)人通過手機(jī)客戶端啟動水稻病害智能診斷平臺后進(jìn)入界面。選取“圖像采集”圖標(biāo)后,進(jìn)入拍照界面,可進(jìn)行田間無摘取的實(shí)時圖像采集;選取“病害診斷”圖標(biāo)后,進(jìn)入選擇圖片界面,并裁剪;接著點(diǎn)“壓縮、上傳”圖標(biāo)后,系統(tǒng)采用JPEG算法將用戶選擇的圖片進(jìn)行壓縮處理,圖片壓縮碼流通過4G網(wǎng)絡(luò)上傳至服務(wù)器[14];選取“接收結(jié)果”圖標(biāo)后,自動接收從服務(wù)端診斷的結(jié)果,并以文字和圖片的形式在手機(jī)客戶端顯示。客戶端病害診斷流程如圖2所示。

        圖2 客戶端病害診斷流程

        2.2 功能設(shè)計(jì)

        經(jīng)過對智能診斷平臺功能的需求分析,確定三大模塊:用戶信息管理、病害圖像診斷、病害相關(guān)數(shù)據(jù)查詢。其中用戶信息管理模塊為農(nóng)業(yè)種植人員或技術(shù)人員提供用戶信息注冊、登錄、帳號管理等操作;圖像診斷模塊為用戶提供圖像實(shí)時采集、圖像壓縮上傳和接收結(jié)果等功能;查詢模塊提供查詢病害數(shù)據(jù)、防治措施、服務(wù)端發(fā)布的指導(dǎo)信息等功能??蛻舳斯δ芙Y(jié)構(gòu)如圖3所示。

        圖3 客戶端功能結(jié)構(gòu)

        2.3 客戶端系統(tǒng)實(shí)現(xiàn)

        手機(jī)端采用JPEG壓縮技術(shù)對高清大容量病害圖像進(jìn)行自適應(yīng)的質(zhì)量壓縮處理[15-16],減少傳輸?shù)谋忍財(cái)?shù),加快上傳速度,保證圖像清晰度,提高診斷準(zhǔn)確率。詳細(xì)步驟如下:先下載Libjpeg庫(C語言編寫),編譯得到libjpeg.so;配置NDK和設(shè)置環(huán)境變量;將編譯好的動態(tài)庫和頭文件加入到項(xiàng)目中,并修改配置文件;代碼實(shí)現(xiàn)壓縮照片到指定目錄并使用AsyncTask執(zhí)行壓縮操作,使用JNI技術(shù)來調(diào)用Libjpeg庫文件。

        考慮自適應(yīng)壓縮的耗時問題,在后臺線程中使用AsyncTask進(jìn)行異步壓縮操作,創(chuàng)建異步操作類MyCompress,且繼承AsyncTask,并重寫onPreExecute()、doInBackground()、onPostExecute()三種方法來啟動、結(jié)束圖像壓縮過程。在Activity中通過以下語句啟動壓縮圖片。

        ImgCompress.getInstance(this).withListener(this).starCompress(Uri.fromFile(imgFile)

        為了控制圖片輸出時的空間大小,設(shè)定一種自適應(yīng)壓縮的方法,方法中調(diào)用Bitmap類的compres()方法,對壓縮后的大小與系統(tǒng)給定值進(jìn)行循環(huán)比較,如果滿足條件則繼續(xù)compress操作;否則退出循環(huán)不再壓縮,達(dá)到自適應(yīng)壓縮的效果。

        OutputStream bs=new OutputStream();

        int opt=120;

        OutImag.compress(Bitmap.CompressFormat.JPEG,opt,bs);

        int bsLen=bs.toByteArray().length;

        while((bsLen/1024)>maxFileSize) {

        bs.reset();

        opt=Math.max(0,opt-20);

        OutImag.compress(Bitmap.CompressFormat.JPEG,opt,bs);

        bsLen=bs.toByteArray().length;

        if(opt==0) break;

        }

        為更好地實(shí)現(xiàn)數(shù)據(jù)傳輸,根據(jù)系統(tǒng)客戶端向服務(wù)器提出連接請求并成功建立連接后,主動上傳圖片或查詢時向服務(wù)端發(fā)送數(shù)據(jù)、服務(wù)端接收數(shù)據(jù)后不斷與客戶端進(jìn)行交互響應(yīng)的特點(diǎn),采用Http協(xié)議和WebService技術(shù),利用JSON進(jìn)行數(shù)據(jù)轉(zhuǎn)換[6],實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸。如定義一個JsonUtils類,并為其添加解釋JSON數(shù)據(jù)的方法:

        Public static List parseJSONData(InputStream jsonData) throws Exception{

        List myList=new ArrayList();

        JSONArray jsonArray=new JSONArray(new String(StreamTool.read(jsonData)));

        for(int i=0;i

        JSONObject jsonObject=jsonArray.getJSONObject(i);

        int id=jsonObject.getInt("id");

        String pest=jsonObject.getString("pest");

        ……

        myList.add(new Pests(id, pest,……) );

        }

        return myList;

        }

        在Activity類的“接收結(jié)果”方法中,代碼創(chuàng)建HttpClient、HttpGet、HttpResponse、HttpEntity等對象,實(shí)現(xiàn)從服務(wù)器端下載JSON數(shù)據(jù)。利用以下JSON語句解釋接收的網(wǎng)絡(luò)數(shù)據(jù),以本機(jī)做測試。

        String path="http://10.0.2.2:8080/ServerFromJSON/PestListServlet";

        conn.setRequestMethod("GET");

        if(conn.getResponseCode()==200){

        InputStream jsonIn=conn.getInputStream();

        returnparseJSONData(jsonIn);

        }

        該客戶端充分利用Android SDK中的LinearLayout類、GridView類、ListView類及TabHost組件等的優(yōu)勢設(shè)計(jì)個性化的友好、簡單的人機(jī)交互界面。

        3 服務(wù)端的設(shè)計(jì)與實(shí)現(xiàn)

        服務(wù)器端使用Java開源框架struts+spring+hibernate實(shí)現(xiàn)Web服務(wù)[4]。用struts進(jìn)行MVC設(shè)計(jì),實(shí)現(xiàn)Web層的應(yīng)用;用spring進(jìn)行數(shù)據(jù)交換,實(shí)現(xiàn)業(yè)務(wù)邏輯;用hibernate進(jìn)行數(shù)據(jù)庫的訪問,實(shí)現(xiàn)對象關(guān)系的映射??蛻舳撕头?wù)器端進(jìn)行數(shù)據(jù)交換時,存在不同的數(shù)據(jù)格式,用JSON來封裝數(shù)據(jù),可解決數(shù)據(jù)兼容性。為了實(shí)現(xiàn)與客戶端進(jìn)行數(shù)據(jù)交互,先在服務(wù)端創(chuàng)建Web項(xiàng)目,再創(chuàng)建Servlet類作為接口程序,接著將該Servlet部署到Tomcat下,同時修改web.xml,再發(fā)布項(xiàng)目。Servlet類接口代碼分為“處理接收數(shù)據(jù)”和“處理發(fā)送數(shù)據(jù)”二部分,如下:

        在N2和O2環(huán)境中、不同的PDA溫度下,Al摻雜的HfO2高k柵介質(zhì)MOSCAP的C-V曲線如圖3(a)和圖3(b)所示。由圖3可見,除了O2環(huán)境中700 ℃的PDA處理?xiàng)l件外,Al摻雜HfO2的MOSCAP均表現(xiàn)出良好的C-V特性。而O2環(huán)境中700 ℃的PDA處理時C-V特性略微變差可能與該條件下界面態(tài)變差有關(guān)。

        protected void doPost (HttpServletRequest req,HttpServletResponse resp)

        throws ServletException,IOException{doGet (req,resp);}

        proteeted void doGet (HttpServetRequest req,HttpServetResponse resp)

        throws ServletException,IOException{

        resp.setContentType("text/plain");

        resp.setCharacterEncoding("UTF-8");

        PrintWriter out=resp.getWriter();

        JSONArray array=new JSONArray();

        for(Pest bean: list){

        JS0NObiect obj=new JSONObject();

        try{

        obj .put("id".bean.getId());

        obj .put("pest".bean.getPest());

        ……..

        }catah(Exception e) {array.put(obj);}

        }

        out.wrire(array.toSrring()) ;

        }

        服務(wù)器在正常運(yùn)行的情況下,如果有客戶端發(fā)送圖片請求,就建立連接并接收和存儲圖片,同時采用OpenCV技術(shù)對圖像進(jìn)行特征提取[16-17],與數(shù)據(jù)庫中已有特征數(shù)據(jù)進(jìn)行匹配,實(shí)現(xiàn)圖像識別[14];最后將圖像識別結(jié)果以文字和高清圖片的形式通過網(wǎng)絡(luò)返回到客戶端。選擇OpenCV作為圖像處理手段,對客戶端發(fā)來的病害圖片進(jìn)行及時圖像處理,可解決移動終端圖像處理能力有限、SQLite數(shù)據(jù)庫檢索難度大等問題,提高系統(tǒng)識別實(shí)時性。

        4 系統(tǒng)測試

        該系統(tǒng)利用一部三星Android手機(jī)和一臺搭載tomcat7.0服務(wù)容器的電腦作為測試環(huán)境。在手機(jī)上運(yùn)行客戶端軟件后,進(jìn)入登錄界面。輸入個人賬號登錄成功,方可進(jìn)入主功能界面。用戶可利用友好、簡單的人機(jī)交互界面,在田間實(shí)地進(jìn)行圖片采集、壓縮并上傳,進(jìn)行無采摘式、實(shí)時的病害診斷;還可以通過“信息查詢”功能,實(shí)現(xiàn)在線查詢各種病害信息和防治技術(shù)等,解決農(nóng)民在種植過程中遇到的各種問題。經(jīng)過初步測試,系統(tǒng)在性能、功能方面達(dá)到了設(shè)計(jì)的預(yù)期要求。圖4是手機(jī)端系統(tǒng)實(shí)現(xiàn)的部分界面圖。

        圖4 系統(tǒng)界面圖

        5 結(jié)束語

        文中研發(fā)的基于移動端的自適應(yīng)圖像壓縮的水稻病害診斷平臺提供了病害圖像采集、壓縮、上傳并診斷,病害防治建議等功能,具備移動端攜帶方便、平臺界面友好簡單、實(shí)時無采摘的圖像采集、快速識別、準(zhǔn)確等優(yōu)點(diǎn)。初步應(yīng)用證明,該系統(tǒng)的診斷準(zhǔn)確性高,然而,處于初期階段的系統(tǒng)平臺仍存在不少問題,后期階段有待加強(qiáng):一是系統(tǒng)暫時只對簡單背景下的病害圖像識別率高,對于陰暗、潮濕等復(fù)雜環(huán)境下拍的圖像在特征提取方面有待研究;二是在病害圖像識別處理中,在分類器的算法上須改進(jìn)提高。

        猜你喜歡
        服務(wù)端服務(wù)器端圖像處理
        機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:20
        云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        在Windows Server 2008上創(chuàng)建應(yīng)用
        模糊圖像處理,刑事偵查利器
        圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
        在Windows中安裝OpenVPN
        Photo Shop通道在圖像處理中的應(yīng)用
        河南科技(2014年1期)2014-02-27 14:04:06
        網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
        国产一品二品三区在线观看| 日韩在线精品国产成人| 久久精品国产亚洲av大全相关| 少妇又紧又色又爽又刺| 国产农村妇女精品一区| 亚洲国产精品毛片av不卡在线| 亚洲精品成人专区在线观看| 中文字幕精品亚洲二区| 黄色国产精品福利刺激午夜片| 美女露内裤扒开腿让男人桶无遮挡 | 国产乱人视频在线看| 日韩人妻系列在线视频| 丝袜美腿视频一区二区| 国产av一区二区三区传媒| 99在线精品国产不卡在线观看| 国产高跟丝袜在线诱惑| 亚洲国产精品久久又爽av| 亚洲av日韩综合一区尤物| 国产高清在线观看av片| 国产精品免费久久久久软件| 99综合精品久久| 国产蜜桃传媒在线观看| 成人做爰69片免费看网站野花| 欧美极品美女| 日韩成人精品一区二区三区| 蜜桃a人妻精品一区二区三区| 人人妻人人爽人人澡欧美一区| 日本欧美国产精品| 一区二区亚洲精美视频| 国产人妖乱国产精品人妖| 丰满人妻av无码一区二区三区| 日本一区二区三区激情视频| 精品少妇一区二区三区入口| 艳z门照片无码av| 人妻无码中文专区久久五月婷| 日韩女优中文字幕在线| 亚洲人妻调教中文字幕| 老熟女重囗味hdxx70星空| 色婷婷久久免费网站| av网站免费在线浏览| 免费毛片a线观看|