APP下载

基于嵌入式图像终端的农作物虫害监测系统设计

2018-09-26张新良夏亚飞夏楠冷正明

软件导刊 2018年7期
关键词:虚拟仪器图像处理嵌入式

张新良 夏亚飞 夏楠 冷正明

摘要:为实现对农作物虫害的实时预警并辅助疾病诊断,实现无人值守的病虫害智能监控,设计一种嵌入式设备与工控机相结合的农作物虫害监测系统。通过下位机ARM-Linux嵌入式图像终端采集农作物叶片图像,利用TCP/IP网络发送数据;上位机监测系统利用虚拟仪器接收并解析图像,完成图像格式转换、虫害诊断与实时显示。针对传统基于Web技术的图像监控系统只能通过浏览器或专用客户端软件浏览图像,而不能处理数据的缺点,设计网络ppm格式图像数据至LabVIEW图像数据的转换函数,实现农作物叶片图像的自动采集、显示与图像处理功能。测试结果表明,该系统工作稳定,在农业病虫害的图像采集与诊断防治方面具有重要的应用价值。

关键词:农作物;虫害监测;嵌入式;虚拟仪器;图像处理

DOI:10.11907/rjdk.173175

中图分类号:TP319

文献标识码:A文章编号:1672-7800(2018)007-0124-04

Abstract:Inordertodiagnosecroppestsanddiseasesinrealtimeandrealizeunmannedintelligentmonitoringofpestsanddiseases,amonitoringsystemofcroppestsbasedonembeddedequipmentandindustrialcomputerisdesigned.TheARM-LinuxembeddedimageacquisitionterminalcollectsthecropleafimagesandsendsdatatothehostcomputerthroughaTCP/IPnetwork.Theuppercomputerreceivesandparsestheimages.Atthesametime,underthesupportofvirtualinstrumentsoftware,theimageureprocessedtocompletetheformatconversion,preservationanddisplay.ThemonitoringsystemhasprovidedanapplicableapproachtoaccesstheimagedataontheWebthroughthetransformationofppmimagetoLabVIEWimage,whichareavailableforbrowseonlybytheinternetexplorerorthespecialclientsinmostcases.Theexperimentalresultshaveshownitseffectivenessandstability.Thesystemisexpectedtobeofgreatapplicationvalueforthediagnosisofvariousagriculturaldiseasesandpestsimageacquisition.

KeyWords:crops;pestsmonitoring;embedded;virtualinstrument;imageprocessing

0引言

随着精准农业的不断发展,运用信息技术辅助农业生产为农作物病虫害监测提供了新思路[1]。数字图像技术在农作物信息采集方面具有精度高、速度快、信息量丰富等优点,在图像处理算法支持下,可有效降低人为判断病虫害的主观性,提高实时性且节约了劳动力,在农作物生长状况监测中应用广泛[2]。

相比于其它视频监控系统对性能高速率的要求,虫害监测系统更侧重于图像终端的便利采集、稳定传输性能,以及监测上位机的图像处理性能[3]。嵌入式图像采集终端相比于单片机、DSP处理器等采集设备[4-8],其操作系统稳定性更强,并具有更为强大的事务管理功能,借助于丰富的内部资源和多任务并行机制,可以实现复杂的数据采集、控制和通讯任务[9]。但目前基于Web技术的图像监控系统只能通过浏览器或专用的客户端软件浏览图像,而无法处理数据。基于此,本文利用ARM-Linux嵌入式设备和TCP/IP网络设计农作物图像采集终端,利用虚拟仪器LabVIEW图形化编程平台进行监测上位机设计,以解决网络图像数据的接收与数据处理问题。同时,根据农作物病虫害的监测需求,使用虚拟仪器软件对虫害叶片进行诊断。

1嵌入式图像采集终端

在ARM-Linux系统中,应用程序通过访问硬件资源的设备文件实现对设备的控制,其中,V4L2是Linux系统下视频设备驱动程序接口规范,其为上层应用程序提供了一系列接口函数,控制视频设备完成视频图像采集[10],而Socket则提供了网络数据传输的编程接口。本系统的图像采集终端在接收到上位机采集指令后,完成采集任务,将采集到的图像数据转换为RGB格式发送至上位机。

1.1LinuxV4L2圖像采集

在Linux系统中对图像采集设备的操作通过V4L2调用“intioctl(intfd,intrequest,void*argp)”函数完成,其中fd为设备文件描述符,request为系统调用类型,argp为数据传递缓冲区地址。图像数据采集任务按照“打开设备”、“申请缓存”、“内存映射”、“读写缓存”、“关闭设备”5个步骤完成,具体功能实现代码如表1所示。

其中,fd=open(dev_name,O_RDWR,0)以阻塞模式打开USB视频设备文件,当缓冲区数据准备就绪,将数据返回应用程序[11];mmmap()指令将内核空间缓存映射到用户空间,以提高应用程序读取/处理视频数据的效率;通过循环调用ioctl(fd,VIDIOC_QBUF,&buf;)函数,将申请的S个帧缓存放入采集队列,启动视频采集;当数据准备就绪,使用ioctl(fd,VIDIOC_DQBUF,&buf;)函数缓存入输出队列,存入用户缓存buf中;当所有帧缓存进入输出队列,采集过程停止,等待缓存重新放入采集队列,采集任务完成。

对于图像连续采集过程,系统会不断取出缓冲队列中的数据,处理之后将帧缓存重新放入采集队列,继续获得图像数据。任务结束后清空缓存,停止视频采集并关闭设备。

1.2图像采集终端TCP/IP通讯

图像终端作为客户端,Linux系统通过双向通信套接字Socket连接远程服务器,接收上位机控制指令,解释指令并发送图像数据给上位机监测系统。Socket是一个通信链的句柄,描述了通讯双方的IP地址和服务端口[12]。图像终端发送RGB图像数据的主要代码如表2所示。

socket()函数建立套接字描述符,设置SOCK_STREAMTCP协议参数为“使用面向连接的稳定数据传输”;端口通讯协议组为AF_INETIPV4协议,即使用网络字节顺序在不同体系结构系统间通信。套接字与服务器地址通过connect()链接绑定。基于套接字描述符,使用send()函数循环将缓存在rgbbuf中的RGB图像发送至上位机处理,图像大小为COLS*ROWS*3字节。

2LabVIEW虚拟仪器监测上位机

监测上位机使用LabVIEW软件设计,通过TCP/IP网络与嵌入式图像终端进行数据通讯,发送控制指令,接收图像数据并进行数据处理。

2.1基于Socket的TCP/IP数据接收

虚拟仪器LabVIEW软件对TCP/IP网络通讯的底层驱动编程进行封装,使用其提供的vi函数,如创建TCP监听端.vi、等待TCP客户端连接.vi、写入/读取TCP数据.vi、关闭TCP连接.vi等,便可完成监控上位机与下位机图像采集终端的通讯过程,简化编程,如图1所示。在程序实现方面,整个监测系统由数据采集线程和主线程构成,主线程负责图像数据格式的转换和虫害诊断,数据采集线程则监听下位机的TCP/IP连接并接收网络数据。

数据采集线程与主线程的数据同步利用LabVIEW的“用户事件”实现。设置“ppm事件”的产生条件是数据采集线程“读取TCP指定数目的字节”,即RGB图像帧大小的整数倍,图像帧大小为COLS*ROWS*3字节。在主线程的“事件结构”中处理该用户事件,将接收到的RGB图像数据转换为LabVIEW图像数据,进行处理、显示和保存。

2.2图像数据格式转换与处理

由于LabVIEW写入/读取TCP数据的数据类型只能是字符串,因此上位机发送控制指令时,需要使用平化字符串(FlattenToString)函数。同样地,在上位机的图像数据接收端,为进一步在LabVIEW中保存图像数据并进行虫害诊断,需要将接收到的图像帧字符串转换为LabVIEW图像数据。

LabVIEW图像数据类型如图2所示,其是一个由6元素捆绑构成的簇,包含图像类型、图像深度、图像数据、掩码、颜色、矩形大小等信息。根据图像帧字符串内容,提取图像帧的列宽和行高、像素数据流,生成LabVIEW图像数据,如图3所示。其中“从字符串还原”函数将顺序排列的像素数据流字符串还原为平铺像素RGB值一维数组,“按名称捆绑”函数将图像数据数组、列宽、行高捆绑生成LabVIEW图像数据。

3基于图像处理的叶片虫害诊断

基于农作物叶片图像的虫害诊断是在虚拟仪器LabVIEW监测系统中,利用图像处理算法对叶片虫害特征进行识别,以便当虫害发生时采取必要处理措施。对于农作物叶片由虫害引起的缺刻、孔洞或透明斑等特征[12],可利用边缘检测方法,通过标识图像中亮度变化明显的点进行识别。边缘是指其周围像素灰度有阶跃变化或屋顶变化的像素集合[13],因此两个具有不同灰度值的相邻图像区域之间总存在边缘。

本实验中采用基于彩色图像分割[14]的方法识别农作物叶片上的虫孔特征。首先需要选择合适的颜色空间,颜色空间的选择将直接影响图像分割和目标识别效果,常用的颜色空间有RGB和HSL等[15]。RGB是最常用的颜色空间,但在同一颜色空间不同光照下,其RGB值比较分散,在确定阈值和其在颜色空间中的分布范围时存在一定难度;而HSL(H-色调、S-饱和度、L-亮度)更接近人眼感知色彩的方式,可以从HSL中得到颜色、深浅、明暗信息。因此,本文选取HSL彩色模型,相应的虫害诊断过程如图4所示。首先对图像进行二值化处理,去除多余的颜色信息,将图像分割为背景和目标两部分;然后进行中值滤波,滤除图像中存在的噪声;最后进行图像反转,去除小面积区域以及图像背景中的干扰点,提取亮对象完成虫孔识别。

4实验验证

实验中,下位机图像终端设置图像大小为COLS*ROWS=320*240,即图像帧的列宽和行高分别为320和240,连续采集图像帧缓存数目S设置为1。主线程在接收到图像数据后,完成数据转换和虫害诊断,并将图片和诊断结果实时显示在前面板交互界面中,如图5所示。

针对叶片图像的虫孔特征,虫害诊断程序中,对应IMAQColorThreshold函數,将HSL图像阈值分割参数(Min,Max)分别设置为(50,200)、(10,100)和(20,85);对应IMAQCountObjects2函数,设置寻找亮对象阈值、最小尺寸、最大尺寸分别为128、180和10000。

由实验结果可以看出,在上位机控制指令驱动下,图像采集终端能够自动完成图像的采集和网络传输任务。上位机虚拟仪器监测系统在VISION工具包及其vi函数支持下,能实时完成图像数据的接收、转换以及图像处理工作,有效识别出农作物叶片中的虫孔特征。系统工作稳定,虫孔识别算法有效。

5结语

本文研究了农作物病虫害监测过程中涉及到的图像采集、传输以及虚拟仪器平台上的图像处理技术,设计基于ARM-Linux嵌入式图像采集终端与LabVIEW虚拟仪器的远程监测系统,有效实现了农作物叶片图像的自动采集、显示和虫害检测功能。基于获得的图像数据,结合更先进的农业病虫害诊断算法和专家系统,该系统有望扩展应用于各种农业病虫害疾病的预测和防治中,因而具有重要的应用推广价值。

参考文献:

[1]汪京京,张武,刘连忠,等.农作物病虫害图像识别技术的研究综述[J].计算机工程与科学,2014,36(7):1363-1370.

[2]方益杭.基于计算机视觉的油菜生长过程自动识别研究[D].武汉:华中农业大学,2015.

[3]戴建国,赖军臣.基于图像规则与Android手机的棉花病虫害诊断系统[J].农业机械学报,2015,46(1):35-44.

[4]杨泽,裴海龙.基于ARM与DSP的实时视频传输系统[J].计算机工程与设计,2013,34(12):4184-4188.

[5]董大波,王湘云,赵柏秦,等.基于单片机的低成本CMOS图像采集系统[J].仪表技术与传感器,2014(2):45-49.

[6]张磊.基于ARM的CMOS数字图像传感器图像采集系统的研究与设计[D].哈尔滨:哈尔滨工程大学,2008.

[7]LESLIEIM,MCAULEYD,BLACKR,etal.Thedesignandimplementationofanoperatingsystemtosupportdistributedmultimediaapplications[J].SelectedAreasinCommunicationsIEEEJournal,1996,14(7):1280-1297.

[8]KANDADAIV,SRIDHARANM,PARVATHYSM,etal.AcomprehensiveembeddedsolutionfordataacquisitionandcommunicationusingFPGA[J].JournalofAppliedResearch&Technology;,2017,15(1):45-53.

[9]李锦波,石岩,曹治国,等.面向实时图像处理的嵌入式操作系统研究[J].红外与激光工程,2004,33(6):651-654.

[10]鲁力,张波.基于嵌入式TCP/IP协议的高速电网络数据采集系统[J].仪器仪表学报,2009,30(9):405-409.

[11]罗万明,林闯,阎保平.TCP/IP拥塞控制研究[J].计算机学报,2009,24(1):1-18.

[12]张晴晴.作物病害叶片图像分割及识别中的关键问题研究[D].郑州:郑州大学,2015.

[13]韩君君.彩色图像边缘检测算法研究[D].曲阜:曲阜师范大学,2009.

[14]DONYRD,WESOLKOWSKIS.EdgedetectiononcolorimagesusingRGBvectorangles[C].IEEECanadianConferenceonElectricalandComputerEngineering,1999:687-692.

[15]魏宝刚,鲁东明,潘云鹤,等.多颜色空间上的交互式图像分割[J].计算机学报,2001,24(7):770-775.

(責任编辑:黄健)

猜你喜欢

虚拟仪器图像处理嵌入式
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
搭建基于Qt的嵌入式开发平台
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
虚拟仪器及其在电工电子实验中的应用
嵌入式软PLC在电镀生产流程控制系统中的应用
虚拟仪器技术在农业装备测控中的应用
基于图像处理的定位器坡度计算
基于虚拟仪器的DMFC实时监控系统
Altera加入嵌入式视觉联盟