边干边学机器视觉_图像采集部分(下)

边干边学机器视觉_图像采集部分(下)

ID:38105341

大小:343.70 KB

页数:6页

时间:2019-05-24

边干边学机器视觉_图像采集部分(下)_第1页
边干边学机器视觉_图像采集部分(下)_第2页
边干边学机器视觉_图像采集部分(下)_第3页
边干边学机器视觉_图像采集部分(下)_第4页
边干边学机器视觉_图像采集部分(下)_第5页
资源描述:

《边干边学机器视觉_图像采集部分(下)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、边干边学机器视觉——图象采集部分下jing.zhang.zju@gmail.com边干边学机器视觉——图象采集部分下jing.zhang.zju@gmail.com3.1多缓冲区采集方式从前面的章节中,我们学会了如何采集图象。在高速图象采集应用中,我们会发现前面的Grab方式会存在一个问题,即当图象采集速度非常高时,处理程序还来不及处理当前的图象,图象缓冲区里面的数据已经被新的图象数据所覆盖了。为了解决采集缓冲区不足的问题,我们很自然的想到一个解决方案——增加图象采集缓冲区。NI-IMAQ提供了两种多缓冲区的方式,一种是Sequence,另

2、一种是Ring,如图3.1所示。图3.1多缓冲区图象采集方式Sequence和Ring都是多缓冲区图象采集方式,它们的区别是,Sequence是单次采集,而Ring是连续采集,类似Snap和Grab。在Ring方式下,当一个buffer中的数据正在被处理时,新采集到的图象数据会更新到另外的Buffer中去。下面本文将依次介绍Sequence和Ring的实现方式。3.1.1Sequence图象采集方式Sequence图象采集方式由IMAQSequence.vi实现,如图3.2所示。图3.2IMAQSequence.viIMAQSequence

3、.vi最重要的参数是ImagesIn,如图3.3所示。ImagesIn是一个图象数据缓冲区引用数组,里面包含了多个由IMAQCreate.vi创建的图象数据缓冲区的引用。只边干边学机器视觉——图象采集部分下jing.zhang.zju@gmail.com有知道多个图象数据缓冲区在哪里,IMAQSequence.vi才能完成多缓冲区模式的图象采集。图3.3IMAQSequence.vi参数Sequence图象采集方式的完整实现,大家可以参考范例程序中的HLSequence.vi,如图3.4所示。第1,4,5步是大家熟悉的初始化图象采集卡,释放

4、图象采集卡和释放图象缓冲区的程序。第2步是调用IMAQCreate.vi创建多个图象数据缓冲区,需要注意的是,多个图象数据缓冲区的名字必须不一样。第3步是调用IMAQSequence.vi采集多帧图象数据,当指定数量的图象采集完毕后,IMAQSequence.vi会返回并结束Sequence采集过程。图3.4HLSequence.vi3.1.2Ring图象采集方式Ring图象采集方式需要由三个VI来实现,它们分别是:,和。IMAQConfigureList.vi完成缓冲区列表的配置,告诉驱动程序缓冲区的数量(Numberofbuffers)

5、,以连续还是单次的方式进行图象采集(Continuous?)以及缓冲区的位置(MemoryLocation)。边干边学机器视觉——图象采集部分下jing.zhang.zju@gmail.comIMAQConfigureBuffer.vi把创建好的图象缓冲区分配到缓冲区列表的对应位置上。IMAQExtractBuffer.vi把采集到的图象从缓冲区中提取出来,为后续图象处理做准备。与上节思路相同,我们打开范例程序中的LLRing.vi,学习Ring图象采集方式的实现方法,如图3.5所示(由于文档宽度的关系,仅把关键部分代码进行截图分析,以下同

6、)。图3.5LLRing.vi第一步,调用IMAQConfigureList.vi告诉驱动程序是以Continuous的方式进行图象采集,缓冲区的位置在System——就是开发应用程序的主机上。第二步,调用IMAQConfigureBuffer.vi把创建好的图象缓冲区关联到缓冲区列表的对应位置上。第三步,调用IMAQStart.vi开启一个图象采集的过程,需要注意的是,在调用IMAQStart.vi前,必须调用IMAQConfigureList.vi和IMAQConfigureBuffer.vi来配置采集过程。第四步,调用IMAQExtr

7、actBuffer.vi从缓冲区中把图象提取出来。第五步,把IMAQExtractBuffer.vi的BuffertoExact参数设置为-1表示释放当前被提取的缓冲区。IMAQExtractBuffer.vi在提取图象数据时会对当前被提取的缓冲区进行保护,所以当采集过程完成时,需要释放当前被保护的缓冲区。Ring图象采集方式实现的主要过程如上所述,其余步骤就是大家已经熟悉的初始化图象采集硬件,释放图象采集硬件和释放缓冲区了。3.2触发很多机器视觉应用,比如生产线上的产品外观检测,并不需要一直在采集图象,而是当产品达到检测位置后,才采集图象

8、并进行分析。3.2.1触发信号类型一般来说,图象采集卡都支持外触发,NI的图象采集卡也不例外,如图3.6所示。图3.6PCI-1409Trigger信号图3.6是图象采集卡PCI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。