文档介绍:研究基于 USB 摄像头的田间图像采集方法引言近年来,随着科技的不断快速发展,精细、智能化农业生产技术成为农业机械化研究的热点, 基于机器视觉技术的农田智能机械开发是各科研院所的主要研究方向。国内从 20 世纪 90 年代开始利用机器视觉技术进行水果的分级研究, 近年来在农田视觉应用方面的研究也很广泛, 如自动导航、杂草识别、病害判别及变量喷雾等。但目前还没有走出实验室的成型产品, 其主要原因是视觉系统高成本且适应性差,只适用于科学研究,无法在田间农业生产上进行推广应用。 USB 摄像头由于价格低、功耗小、与计算机连接方便等特点, 目前己在工业、交通、医疗等行业有了广泛的应用, 但在田间中的应用依然处于空白。为此, 本文以廉价的 USB 摄像头作为图像采集单元, 代替专业的视觉系统, 从降低视觉系统的成本出发, 对田间实时图像采集系统进行研究。 1 成像质量的主要影响因素田间图像的成像质量直接影响到后续处理的效果及整体系统的成功率。成像质量的主要影响因素包括地面的不平度、光源、帧率、曝光时间、摄像头高度和倾角、行驶速度等。普通 USB 摄像头相对于专业的摄像设备, 其曝光时间固定、拍摄时间不可调。因此, 摄像头的帧率、光源、行驶速度这 3 个因素之间的相互作用尤为明显。 摄像头的帧率摄像头帧率是指在 1s 时间内传输图片的数量, 也可以理解为图形处理器每秒钟能够刷新几次, 通常用印 s表示。对于普通的 USB 摄像头, 帧率高的较帧率低的曝光时间短, 但帧率在 150fp s 以上的摄像头要求设备接口的传输速率要高于通用 USB2. 0 ,常用的一般为 30,60 帧,少数 120 帧。本文从通用性出发,在田间动态采集中, 从摄像头拍摄的视频流里每隔一定的时间抓取一张图片, 为了保证抓取的图片质量清晰。传输稳定, 摄像头的帧率选择以上3 种进行对比试验。 光源、行驶速度在机器视觉系统中,光照、行驶速度是影响整个图像采集过程的关键因素, 直接关系到图像质量的好坏。光源分为自然光源和人工光源两种[3] 。光照强度的强弱和摄像头快门曝光时间、行进速度有很大的关联。由于普通 USB 摄像头的快门速度不可调、曝光时间固定, 当光照过强时, 摄像头感光元件充电时间短、行进速度慢会导致图像过亮; 过弱时,充电时间长、行进速度快,摄像头拍摄的图像过暗或拖尾模糊, 而使图像质量变差。因此, 合理的摄像头帧率、光源、行驶速度三维组合是田间图像采集的关键。 2 试验材料与方法 试验材料本实验在温室大棚里进行,采集图像对象为白菜秧苗。采用的笔记本电脑配置为: 主频 2. 6GHzCPUIntel 酷睿 i5 3230M 处理器、 4G 内存、 1T 硬盘、 2GB 显存。选用常用 3种 USB 摄像头,分别是 30 帧( 蓝色妖姬 m2200) ,60 帧( 谷客 HD91 S) ,120 帧( 蓝色 S8 精钢); 光源选用自然光照为正常、强( 下午 13:30 左右) 、弱( 下午 16:30 左右); 为了方便控制试验小车的行驶速度,选用速度可调的电瓶小车。 软件设计图像采集、处理软件系统都是基于 Microsoft 公司的 VC++ 基础上使用 MFC 类库研发的,主要使用 DirectShow 开发包的自 aptureVideo 来完成视频数据流的显示、读取。为验证方法的可行性,对采集到的图像进行了实时灰度化及图像分割处理。 2. 摄像头初始化程序设计利用 DirectSho w 开发包中的类库以 aptureVide o 类来完成对摄像头的初始化工作, 并使之在软件界面输出视频流。以下是初始化的部分 VC 代码: HRESULT hr; hr=InitCaptureGraphBuilder(); hr=m_pGB 一>AddFilter(m_pBF ,L” Capture Filter ”); VIDEOINFOHEADER*vih=(VIDEOINFO 一 HEADER*)mt. phFormat; hr=m_pGrahher 一>SetBufferSamples (FALSE); SetupVideoWindow(); hr=m_pMC 一>Run(); ……….. 2. 单帧图像捕捉程序设计获取单帧图像即是从视频流中捕捉某一帧图像存储到内存中或者物理存储设备上,利用实现的 IsampleGrabberC B 类的虚函数 B ufferC B 来具体实现对单帧图像的捕捉。以下是获取单帧图像并存至指定磁盘目录的部分重要 UC 代码: STDMETHODIMP BufferCB(double dblSample- Time , BYTE*pBuffer} long