机器视觉在植物叶片叶面积测算中的应用
2014-03-25成丽君张宇波杨文杰
成丽君,张宇波,杨文杰
(山西农业大学 信息科学与工程学院,山西 太谷 030801)
利用机器视觉(machine vision)测算叶面积就是用机器代替人眼来做测量。本次开发的机器视觉系统是指通过机器视觉将被摄取叶片转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转化成数字化信号。图像系统通过对这些信号进行运算来抽取目标的特征,进而根据判别的结果计算相应特征区域的面积。
植株叶片叶面积是衡量植株生产能力大小的重要指标。研究适用于多种植株的简单易行、准确度高、经济实用的单叶片叶面积测算方法,可以为教学科研和实际生产活动提供更好的技术支持。
本文主要阐述如何利用机器视觉测算植物叶片叶面积,并介绍自行开发这一机器视觉测算系统的过程和主要实现方法。
1 halcon机器视觉软件
德国mvtec公司的图像处理软件halcon,在欧洲和日本的工业界已经是公认具有最佳效能的机器视觉软件。Halcon是在图像处理界使用频率最高的一种软件,因其拥有各种需求的开发库而著名[1]。Halcon源自学术界,有别于市面一般的商用套装软件,是一套图像处理库(image processing library),由一千多个各自独立的函数以及底层的资料管理核心构成。应用范围几乎没有限制,涵盖医学、摇杆探测、监控以及工业上的各类自动化检测。机器视觉(machine vision)技术可以“取代人眼”,对重复工作不会疲劳,精度高且稳定,近年来迅速发展,促进了高科技术特别是电子业产能的大幅提升。
2 叶面积测定的一般方法
经调查,目前在使用中的叶面积测算方法主要有公式法和测定仪2种。公式法是将叶片近似为规则几何图形测算,通用的叶片面积计算公式s=2ab/3,a为叶宽,b为叶长。使用叶面积测定仪,设备费用比较高。一台叶面积仪-YMJ-B在国内的价格在18 000元左右。使用机器视觉在个人计算机上搭建测算系统则可提供高速、高精度、经济实用的测算方法。在系统使用的扫描仪精度下,叶片面积的测算可以精确到1 mm2。
3 基于halcon的植物叶片叶面积测算
基于halcon与vb2008平台,使用扫描仪和个人计算机,通过阈值分割与区域特征提取进行叶面积测算。
3.1 图像获取设备
搭建机器视觉系统,摄像机成像平面必须平行于被测算的叶片平面,如果摄像机不能满足这一要求,或者获取的图像与实际有较大的径向畸变,摄像机就必须标定,图像也必须调整。光源是影响机器视觉系统输入的重要因素,因为它直接影响输入数据以及至少30%的应用效果[2]。一个稳定而可靠的机器系统不能仅仅局限于在试验室的严格条件下才能应用,而应该在真正应用环境中都能够良好运转。一般的,使用封闭而稳定的图像捕获环境,或者采用复杂的误差规避算法。
叶面积的测算要求被测算的叶片要平整展开,若使用压片夹一类的设备平整叶片会在图像获取中遮挡叶片从而影响机器视觉的测算结果。综合考虑各种因素,选择使用平面式扫描仪。平面式扫描仪在扫描时,使用设备的玻璃板和压盖板就可以将叶片平整并且提供相对稳定的图像捕获环境。
3.2 图像获取
为了获得清晰可见的物体的图像,图像采集过程中的照明条件,必须仔细考虑。首先确保图像获取设备与计算机良好连接以及图像获取设备的空闲可用状态。在本系统的搭建中,只使用一台平面式扫描仪,通过usb连接到计算机,即一台摄像机连接到一块电路板上,通过一个单一的图像采集卡,如图1所示。此配置典型的情况就是USB2.0,IEEE1394或千兆以太网连接的数码图像采集设备。
图1 系统中单相机、单采集卡链接示意图Fig.1 The interlinkage between single-camera and single acquisition card in the system
本次设计中使用市场上常见的平面扫描仪设备——Canon mp198 。设置扫描仪驱动程序为灰度扫描,分辨率为300 dpi。通过read_image读取扫描仪采集到的叶片图像,如图2所示。
图2 采集的叶片图像Fig.2 Image of the acquired leaf
4 图像处理
机器视觉旨在使用计算机处理能力完成类似于人眼对图像的感知或者精确的“目测”。所以机器视觉需要运用图像分析、处理以及图像理解方法3个层次的多种技术手段,它包括图像增强、数据编码和传输、平滑、边缘锐化、分割、特征抽取、图像识别与理解等内容。[3]
彩色CCD系统一般是以RGB颜色模型为标准模型,通过每个像素的红(R)、绿(G)、蓝(B)感光器件的感光量产生24位色彩空间。经过彩色图像采集卡的采样、量化,得到24位真彩图像。在对图像进行处理和分析时,为减少数据处理量、加快处理速度,一般先要把彩色图像作灰度变换,转换为灰度图像[4]。
为检测叶片的轮廓,在扫描仪漫反射、明视场照明的环境中采集图像,被测叶片为亮,周围区域为白色,使得分割处理变得简单化。使用threshold算子,给出适当的阈值范围就能得到叶片图像所在的图像区域region。由于叶片区域为暗,并考虑不同叶片在图像中亮度的不同,故取阈值为0~128,如图3所示。对于所得到的叶片图像区域,使用area_center和orientation_region算子便可算出其区域面积,如表1所示。
图3 处理后的图Fig.3 Processed image
名称Name值ValueWidth2480Height3507Areal548 268.0Rowl1691.85Column11338.01
5 实现
使用halcon(hdevelop)编写图像采集与处理过程,并导出成vb源代码文件(.vb)和动态链接库文件(.dll)。使用microsoft visual basic 2008,新建空项目。添加生成的vb源代码文件(.vb)到项目,再引用对应的动态链接库文件(.dll)。在vb环境中,编写windows窗体程序,涉及机器视觉计算的时候可调用vb源代码文件(.vb)和动态链接库文件(.dll)中的处理过程以得到结果。同时,Visual Basic2008还可以控制扫描仪驱动程序以便完成设备获取图像的动作。
窗体“浏览”按钮主要代码:
…
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
PictureBox1.ImageLocation = OpenFileDialog1.FileName
End If
…
窗体“计算”按钮主要代码:
…
Dim a(1) As String
a(0) = PictureBox1.ImageLocation
Call Main.Main(a)
…
窗体可视化界面如图4所示。
图4 窗口可视化界面Fig.4 Visual window interface
操作步骤:
(1) 单击“浏览”按钮,选择扫描到的待测叶片图像文件,如图5所示。
(2)单击“计算”按钮,查看结果,如表2所示。
6 结论
利用扫描仪和个人计算机搭建的快速叶面积测定系统,使用了机器视觉这一计算机技术发展的新技术。从机器视觉的原理出发,以图像处理算法为基础,使用Visual Basic开发环境将图像处理和执行算子封装在一起,通过实践对比,可以得出:一方面,在保证较高精度的同时大大降低了测定工作中人工的繁重工作;另一方面,在符合一定实际需求的前提下,避免了采用该类商业设备的高昂费用,降低成本。
图5 浏览操作界面图Fig.5 Browsing interface
编号Number待测叶片The leafunder test面积Squane/mm2方格纸法Graticulation method公式法Formula method机器视觉方法Machine vision method0139904068400402381038213813036500不适用6510042480不适用250505181018331824
参 考 文 献
[1]潘武.基于机器视觉的工件的识别和定位[D].北京化工大学,2012.
[2]段德山.工件非接触检测中机器视觉的检测与应用[D].北京邮电大学硕士研究生学位论文,2007.
[3]关胜晓.机器视觉及其应用发展[J].自动化博览,2005(3):88-92.
[4]凌云.基于机器视觉的谷物外观品质检测技术研究[D].中国农业大学博士学位论文,2004.