劉小紅 馬凌 仇煥青
摘要 在移動端直接上傳獲取的病害圖像進行遠程診斷時,因圖片數(shù)據(jù)量大可導(dǎo)致上傳速度緩慢,增大服務(wù)端數(shù)據(jù)處理難度,影響圖像識別的及時性和準(zhǔn)確性。針對這個問題,以黃瓜病害為例,提出在移動端先將獲取的圖像進行圖像裁剪和閾值分割處理,提取用戶感興趣區(qū)域上傳遠程服務(wù)端。系統(tǒng)測試數(shù)據(jù)發(fā)現(xiàn),病害圖像經(jīng)過裁剪和閾值分割處理后,在獲得良好圖像質(zhì)量前提下,大大減少了圖像數(shù)據(jù)容量,能加快圖片上傳速度,降低遠程服務(wù)端圖片數(shù)據(jù)處理難度,提高診斷的及時性,具有較高的實用性。
關(guān)鍵詞 閾值分割;Android;圖像診斷
中圖分類號: TP391.41 文章標(biāo)識碼:A 文章編號:2095–3305(2021)01–0071–02
近幾年農(nóng)業(yè)災(zāi)害研究已成為熱點,農(nóng)業(yè)災(zāi)害研究也是對農(nóng)作物進行科學(xué)防治的前提。隨著手機應(yīng)用的不斷普及和拍攝圖像方便的特點,已有國內(nèi)外學(xué)者利用Android手機結(jié)合圖像處理技術(shù)在病害或蟲害診斷方面開展了深入研究,如鄭姣[1]等在手機端通過分析水稻四種病害的顏色、形狀、紋理特征,采用圖像預(yù)處理、增強、分割、特征提取以及識別的處理方法,實現(xiàn)基于基Android水稻病害圖像識別系統(tǒng)。但在特征提取和病害診斷過程中,受手機硬件性能的限制,容易出現(xiàn)圖像處理能力有限和數(shù)據(jù)庫檢索能力不足等問題。文獻[2-5]提到將手機端采集到的病害圖片發(fā)送至服務(wù)器端,在服務(wù)器端接收圖片后進行分割,利用顏色矩陣和灰度共生矩陣來提取病害特征參數(shù),最后利用向量機進行識別并返回結(jié)果。這些雖能解決Android手機端圖像處理能力有限和數(shù)據(jù)庫檢索能力不足的問題,但在進行病害或蟲害圖像遠程診斷時,需上傳病害或蟲害特征清晰的大容量圖片,會導(dǎo)致上傳速度緩慢、消耗數(shù)據(jù)流量、增大服務(wù)端圖像數(shù)據(jù)處理難度,影響圖像識別的及時性。因此,需要對診斷的病害圖像在手機端進行圖像分割處理,去除背景,提取重要的信息,減少圖片數(shù)據(jù)大小,加快上傳速度,提高服務(wù)端圖像處理能力。
現(xiàn)以黃瓜病斑圖像為研究對象,在移動端將隨時獲取的原始圖像進行裁剪,保留頁片區(qū)域后,再進行閾值分割去除背景并提取用戶感興趣的區(qū)域,控制病害圖片大小,繼而加快圖片上傳速度。
1 Otsu圖像閾值分割方法
在Android端實時采集的病害圖像,未經(jīng)處理就直接上傳到服務(wù)端進行圖像預(yù)處理、分割、特征提取和識別等,會影響上傳速度,消耗帶寬和數(shù)據(jù)流量,同時也加大服務(wù)端圖像處理的難度,延緩識別時長。因此,需要將實時圖像進行裁剪,去除多余的部分,以控制圖片大小。裁剪后的圖像包含葉片健康區(qū)域和病害區(qū)域,這二種區(qū)域從視覺上分別以綠色和非綠色二種顏色相交錯。而在服務(wù)端對圖像進行特征提取時只針對病斑區(qū)域處理,還要進行病斑分割處理。圖像分割的目的是去除健康區(qū)域,保留病害區(qū)域。常用分割方法有閾值分割、區(qū)域分割、邊緣檢測分割。而閾值分割法具有計算簡單、速度快和效率高等優(yōu)點,很適用于Android中進行病害圖像分割[6]。
在Android中端進行圖像分割的思路:在移動端首先讀入帶有病斑的黃瓜病害彩圖,進行適當(dāng)?shù)牟眉艉螅A繇撈糠?,再將RGB圖像編寫灰度化程序使彩圖灰度化后,形成前景和背景圖像,最后利用Otsu分割算法(即最大類間方差法)進行閾值分割,去除圖像非病斑區(qū)域,實現(xiàn)病斑區(qū)域提取[7-9]。病斑圖像分割流程圖(圖1)。
其中,OTSU算法是將圖像灰度化后歸一化處理,循環(huán)尋找類間方差最大值,即最佳閾值,利用最佳閾值將圖像分割成病害區(qū)域、健康區(qū)域,提取目標(biāo)區(qū)域[10-12]。OTSU算法具體步驟如下:
(1)假設(shè)圖像的大小為M×N,取其中一個閾值為t,圖像歸一化處理后像素灰度值y,輸入圖像的灰度圖,利用公式y(tǒng)=(x-MinV)/(MaxV-MinV)進行歸一化處理,使像素的灰度值分布在0~255,其中x為歸一化前的值,y為歸一化后的值,MaxV、MinV分別為原始圖像灰度的最大值和最小值。
(2)當(dāng)y
(3)循環(huán)尋找類間方差最大值g,并記下此時的閾值t,即為最佳閾值。
(4)利用最佳閾值進行圖像閾值化。
2 實驗與結(jié)果分析
圖像要提取病害區(qū)域,在手機端須應(yīng)用openCV進行圖像分割。openCV是一種跨平臺的圖像處理庫,有C、C++、Java等接口,可應(yīng)用到Android平臺上進行圖像處理。openCV環(huán)境搭配方法:先安裝JDK1.8、Android Studio2.3等;接著在官網(wǎng)下載并解壓OpenCV的 Android pack并解壓,將OpenCV中SDK目錄下JAVA接口導(dǎo)入到新建的Android 項目中;選中項目按右鍵進行Module Dependency的配置,添加Opencv Library模式;最后將Opencv 的sdk/native/libs下的文件全部復(fù)制到新建項目libs庫中[13-14]。
在Android端獲取病害圖像,裁剪成綠色和病斑區(qū)域后,進行灰度化處理,利用Opencv中的cvCvtColor(const CvArr*src, CvArr*dst, int code)方法將原圖src的RGB空間轉(zhuǎn)換到目標(biāo)圖dst,并設(shè)置相應(yīng)的code值為CV_BGR2GRAY,將原圖轉(zhuǎn)換為灰度圖[15]。
OpenCV中threshold( )方法是對單通道數(shù)組進行固定閾值操作,由于病害圖像經(jīng)過灰度化后,病斑特征邊緣明顯度有所降低,如果采用固定閾值操作來進行分割,效果比較差。因此,采用OpenCV中的adaptiveThreshold(myGray,
myAdaptive,255,ADAPTIVE_THRESH_MEAN_C,THRESH_BINARY_INV,5,5)方法進行自適應(yīng)閾值分割病害區(qū)域,效果比較好,其中myGray表示灰度圖像數(shù)組;myAdaptive表示輸出圖像組;并設(shè)定預(yù)設(shè)滿足條件最大值255;自適應(yīng)閾值算法參數(shù)為ADAPTIVE_THRESH_MEAN_C,并計算出鄰域的平均值再減去第七個參數(shù)的值。閾值類型為THRESH_BINARY_INV, 鄰域塊大小為5,用來計算區(qū)域閾值。閾值分割的部分效果圖(圖2~4)。
在Android端進行原圖裁剪并分割后,圖片大小有所縮小,且在病斑圖像效果上都差不多,不影響服務(wù)端后期的圖像識別處理。在手機端再將提取病斑后的圖像進行遠程上傳,選取100個樣本進行測試,很大程度上縮小了圖片數(shù)據(jù)量、大小,降低了網(wǎng)絡(luò)流量,提高了上傳速度,同時便于后期服務(wù)端的快速處理。圖像分割的實驗記錄(表1)。
3 結(jié)論
主要以黃瓜病斑圖像為研究對象,在移動端進行病害遠程診斷時對輸入的病害圖像進行適當(dāng)?shù)牟眉粢垣@取只有綠色區(qū)域和病斑區(qū)域的頁片圖像,再將裁剪后的圖像調(diào)用本地方OpenCV內(nèi)的相關(guān)函數(shù),編寫灰度化程序,將彩色圖像灰度化后利用Otsu分割算法進行分割,去除圖像非病斑區(qū)域,實現(xiàn)病斑區(qū)域提取。試驗證明,通過此方法可大大縮小圖像數(shù)據(jù)大小,加快圖片上傳速度,提高遠程服務(wù)端診斷處理能力。
參考文獻
[1] 鄭姣,劉立波.基于Android的水稻病害圖像識別系統(tǒng)設(shè)計與應(yīng)用[J].計算機工程與科學(xué),2015,37(7):1366-1371.
[2] 夏永泉,李耀斌,李晨.基于圖像處理技術(shù)與Android手機的小麥病害診斷系統(tǒng)[J].安徽大學(xué)學(xué)報(自然科學(xué)版),2016,40(2):26-31.
[3] 王梅嘉.基于Android平臺的蘋果葉部病害遠程識別系統(tǒng)研究[D].咸陽:西北農(nóng)林科技大學(xué),2015.
[4] 吳子龍.基于Android移動終端的煙草病蟲害圖像智能識別系統(tǒng)研究[D].昆明:云南農(nóng)業(yè)大學(xué),2015.
[5] 郭彥麟.基于Android的黃瓜病蟲害檢測系統(tǒng)[D].銀川:寧夏大學(xué),2017.
[6] 劉桂紅,趙亮,孫勁光,等.一種改進粒子群優(yōu)化算法的Otsu圖像閾值分割方法[J].計算機科學(xué),2016,43(3):309-312.
[7] 羅鈞,楊永松,侍寶玉.基于改進的自適應(yīng)差分演化算法的二維Otsu多閾值圖像分割[J].電子與信息學(xué)報,2019,41(8):2017-2024.
[8] 李想,謝慕君.改進Otsu圖像分割方法[J].長春工業(yè)大學(xué)學(xué)報,2019,40(2):117-120.
[9] 袁小翠,黃志開,馬永力,等.Otsu閾值分割法特點及其應(yīng)用分析[J].南昌工程學(xué)院學(xué)報,2019,38(1):85-90,97.
[10] 蔡云飛,郭宇俤,花僑飛,等.基于Android手機的玉米幼苗葉片圖像分割方法[J].福建電腦,2017,33(7):16,43.
[11] 刁廣強.基于圖像的水稻病蟲害分割算法研究[D].杭州:浙江理工大學(xué),2014.
[12] 韓雪峰,陳國斌,郭鵬,等.基于安卓平臺的作物病害圖像自動分割算法實現(xiàn)[J].電腦知識與技術(shù),2015,11(22):112-114.
[13] 劉賢輝.基于OpenCV在移動端的圖像處理技術(shù)[J].電子技術(shù)與軟件工程,2017(9):70.
[14] 王武.基于OpenCV的Android手機全景圖像拼接技術(shù)研究[D].長春:長春理工大學(xué),2018.
[15] 曾嬙.基于圖像處理的煙葉病害識別方法研究[D].成都:西華大學(xué),2018.
責(zé)任編輯:黃艷飛
Application of Image Thr-eshold Segmentation Me-thod in Disease Image Dia-gnosis Based on Android
LIU Xiao-hong et al (Hunan Institute of Information Technology, Changsha, Hunan 410151)
Abstract When disease Image upload to remote diagnosis In mobile, the large amount of image data will reduce upload speed and increase the difficulty of data processing on the server, and affect the timeliness and accuracy of image recognition. In order to solve this problem, this paper takes the cucumber disease as an example, proposes to cut and segment the image at the mobile at first , then extract the region of user interest , upload it to the remote server at last. The test data of the system show that after clipping and thresholding the image With good image quality, the image data capacity can be reduced greatly, the upload speed of the image can be accelerated, and the difficulty of image data processing on the remote server can be reduced, improve the timeliness of diagnosis, it has higher degree of practicality.
Key words Threshold segmentation; Android; Image diagnosis