韩雪峰等
摘要:开发了一种基于安卓平台的农作物病害图像自动分割系统,以Java语言为编程语言,采用面向对象的编程模式,利用大津算法生成图像分割的阈值,根据阈值的大小对病害图像进行图像分割,分离出病斑图像。将开发的程序在安卓模拟器进行试验,对患有炭疽病、霜霉病、灰霉病的黄瓜叶部病害进行分割,实验结果表明基于安卓平台病害图像分割可以实现良好的分割效果。
关键词:图像分割;自动阈值;安卓平台;黄瓜病害
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2015)22-0112-03
Abstract: Automatic segmentation system of agricultural disease image based on Android platform was developed. Java programming language was selected and object-oriented programming mode was used in our works。We used Otsu algorithm to generate threshold for image segmentation, and segmented disease image with threshold to obtain disease image lesions. We tested our program with Android simulator on Cucumber anthracnose leaf image, Botrytis leaf image and Downy mildew of leaf image, our program can obtain good segmentation results.
Key words: image segmentation; automatic thresholding; android platform; cucumber disease
安卓是一款基于Linux內核、开源的手机操作系统[1],基于安卓系统的手机在处理器运行速度、内存容量和存储容量方面与前代手机相比具有很大的提升,是一种功能强大的移动终端,基于安卓系统的农业领域应用研究已经成为当前的热门领域。基于安卓平台的监控系统实时监测和显示种植空间的环境参数,根据需要对种植空间的温度、二氧化碳浓度等环境参数进行调控[2];基于安卓手机的植物叶片面积快速无损测量系统可以实现多种植物叶片面积的便捷、快速测量[3];基于安卓系统手机的甜玉米病虫害智能诊断系统构建了基于安卓手机的、通用人机交互数据库和应用程序的开发环境,实现了甜玉米病虫害智能诊断功能[4]。
基于安卓系统的农作物病害图像分割系统,可以利用智能手机的摄像头对病害图像进行拍照,然后对病害图像进行分割,与传统的利用数码相机和计算机的农作物病害图像分割相比,在硬件成本、便携性、可操作等方面具有传统方法无可比拟的优势,也为后续基于安卓手机的农作物病虫害图像自动识别系统的开发做技术上的准备。
1 实现过程
1.2硬件开发环境
开发所用的计算机联想G400笔记本电脑,Intel 酷睿i5 3230M CPU,主频:2.6GHz;内存:DDR3,4GB;硬盘:500GB;显卡:NVIDIA GeForce GT 720M;位宽:64位。
1.3软件开发环境
系统软件采用中文版Windows8操作系统,程序设计语言选择Java,开发工具选用MyEclipse+Android SDK+ADT模式。MyEcli pse10.6,该版本基于Eclipse 3.7.2开发,是在Eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境。
Android SDK即安卓软件开发工具包。用于为安卓系统下的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
Eclipse ADT 是 Eclipse 平台下用来开发 Android 应用程序的插件。
1.4安卓平台图像分割程序中用到的类
1.5 Java语言下颜色分量的获取
计算机显示的彩色采用红、绿、蓝3种颜色相互叠加得到各式各样的颜色,3种颜色构成了颜色数据。如图1所示,颜色数据在计算机中以二进制形式表示,在处理过程中,由于二进制数据过于繁琐,往往把它转换成16进制进行表示。
在进行图像处理时,计算机不能对红、绿、蓝三色颜色数据直接进行分析,需要分离出3种不同的颜色分量数据,对分离出的颜色数据进行处理。
其中RGBdata是图像数据,分离出的数据分布存放在红色分量数组red、绿色分量数组green和蓝色分量数组blue中。
1.6处理流程
在实验过程中发现利用大津算法直接处理RGB颜色分量和利用大津算法处理经过转换后的HSV颜色空间的数据进行分割的效果差别很小,考虑到进行RGB颜色数据到HSV颜色数据的转换需要额外的计算时间,这将使安卓系统下图像分割所需要的时间更长,因此直接利用RGB颜色空间中的颜色分量进行图像分割。在试验中选用红色颜色分量red进行图像自动阈值的产生。处理流程如下所示。
1)打开作物病害图像文件,获取图像的高h和宽w。
2)获取w×h范围内每个坐标的像素值。
3)利用2.4节中的方法从图像的像素值中分析出红色分量red,绿色分量green和蓝色分量blue。
4)利用2.3节中所述的大津算法对红色分量颜色数据进行处理,生成阈值T。
5)利用阈值T对病害图像颜色数据进行分割,保留颜色值小于阈值T的颜色数据。
6)分割结果显示。
2 实验
本文采用在实际自然环境下拍摄的黄瓜病害图像进行验证。分别为:黄瓜炭疽病叶图像如图2 所示,黄瓜灰霉病叶图像如图4 所示,黄瓜霜霉病叶图像如图6所示。本实验是基于安卓模拟器实现的。在图2,图4,图6中分别点击“图像分割”按钮后,安卓环境下黄瓜炭疽病叶图像自动分割的结果如图3所示,灰霉病害图像分割结果如图5所示,霜霉病害图像分割结果如图6所示。
3 结论
在安卓平台下实现了农作物病害图像自适应分割,运用大津算法生成阈值,根据阈值的大小对病害图像进行分割。从实验的结果可以看出,基于安卓平台完全可以实现作物病害图像的自动分割。随着手机处理器运算速度的不断提高和安卓系统的处理功能的不断升级,基于安卓的手机完全可以胜任作物病害图像的自动分割。将本文中实现的病害图像分割方法与神经网络、支持向量机或者贝叶斯分类器等分类器方法相结合,可以实现基于智能手机的农作物病害图像的自动识别,这将在农作物病虫草害图像的自动识别和防治的便携性、实用性和灵活性等方面带来极大的提高。
参考文献:
[1] Android(operating_system) [EB/OL]. https://en.wikipedia.org/wiki/Android_ (operating_system).
[2] 刘彤,贺宏伟,李尧,等.基于Android平台的家庭植物工厂智能监控系统[J].农机化研究.2015,(4):197-202.
[3] 郭文川,周超超,韩文霆.基于Android 手机的植物叶片面积快速无损测量系统[J].農业机械学报.2014, 45(1):275-280.
[4] 杨林楠,郜鲁涛,林尔升,等. 基于 Android 系统手机的甜玉米病虫害智能诊断系统[J]. 农业工程学报,2012,28(18):163-168.
[5] Nobuyuki Otsu.A Threshold Selection Method from Gray-Level Histograms[J].IEEE Transactions On Systems, Man, And Cybernetics. 1979,SMC-9(1): 62- 66.