LabVIEW实现连续图像测量,采集图像后,程序运行实现尺寸测量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LabVIEW实现连续图像测量,采集图像后,程序运行实现尺寸测量相关的知识,希望对你有一定的参考价值。

我现在做一个小的课题,就是连续自动检测一类物体的尺寸。检测的时候图像采集使用的是CCD摄像机,可是在LabVIEW编程的时候,采集速度与程序速度实现不了同步,就是第一个准确,后面其他的都位置不对,所以测量出来的结果肯定不准确。这是我第一次使用LabVIEW,想请问一下怎么样实现采集与程序的同步,或者说是怎么样设置能实现采集一个图像程序运行一次。

使用生产者消费者模式进行拍照处理,生产者专门采集图像,消费者专门处理图像。但是也需要保证图像处理与图像采集的速度上的一致性,如果采集慢处理快倒没什么,如果是采集快处理慢,那么当内存满了后,就会把原来的队列中的图像销毁了。不过一般来讲,图像处理的速度会比采集的快。相机一般的速度在60FPS(30万的),如果曝光时间比这个时间短,那么每次采集后有16.7ms来处理。这个时间用于一般的处理够了,但是如果有匹配模板之类的再加IO等,估计就有点难了。如果是130万的,那么采集速度一般在30FPS,那么就有33.3ms的时间来处理图像,这样时间会充分许多。
位置不对,肯定是需要做相对坐标系的。这样就需要先找到一个目标点,然后建立坐标系,再根据坐标系测量尺寸。如果你下面是生产线的话,最后还是用触发来触发相机拍照比较好,这样可以节省许多开销,不用一直拍照,只有当产品过来时再拍照。
参考技术A 位置不对什么意思?一般的话,这种实时处理,都建议使用常用的 生产者-消费者模型。简单的讲,就是两个循环。一个采集,一个处理。追问

就是不会实现采集之后处理,现在实现就是处理,因为摄像机一直在摄像,什么时候程序处理什么时候就选当时的图像,所以导致大多数时候照相位置偏了。

追答

照相的位置偏了而已,可以设定相对坐标系,有个参照物,位置偏了没关系的。

-------------------
happyarrow@qq.com

参考技术B 请使用状态机结构进行编程即可解决。
当然个人认为更大的可能性是图像位置不正确导致的偏差。可以考虑在每次拍照前加一个延迟,减少抖动。或者在样品上取一个点作为基准点,拍照前对图像进行标定。

LabVIEW图像灰度测量

像素灰度是图像最为典型的特征之一,基于图像像素灰度能衍生更多的图像特征,包括图像的直方图、线灰度分布曲线、图像线灰度均值、ROl边界灰度曲线、灰度定量描述以及图像结构相似度等,如下图所示:

拓展学习:https://handsome-man.blog.csdn.net/article/details/116572729

在机器视觉领域,图像灰度特征可用于实现目标的存在性检测和基于灰度的模式匹配。在进行目标的存在性检测时,机器视觉系统会不断计算并监测指定ROI范围内的图像灰度量化指标是否在设定的范围内,若指标超限,则认为所检测的目标不存在。基于灰度的模式匹配,可以计算图像中的灰度或梯度,并从中寻找可与模板图像匹配的特征。

在牙线生产过程中,常会出现牙线未安装或牙线断裂的情况。为了能剔除此类次品,可监测安装牙线区域的图像灰度均值及标准差。若灰度均值和表征像素灰度分布的标准差超出指定的范围,就说明被检测的产品存在质量问题。

通过一个基于图像灰度特征进行牙线检测的实例程序,了解其使用方法。

该实例使用了字符串状态机结构,包括程序初始化、基于标准样本设置ROI、更新测量坐标系、产品检测等步骤。由于被测单元(UnitUnder Test,UUT)可能在视场内移动或旋转,因此需要使监测牙线的ROl能相对于产品上的某一固定特征自动移动。

为此可使用以下几个标准过程:

  • 根据标准图像中目标的特征,确定参考坐标系;
  • 在标准图像中设置用于检测牙线的ROl;
  • 根据目标的特征,在新采集的图像中重新搜索并更新测量坐标系;
  • 参照测量坐标系和参考坐标系之间的平移和旋转关系,对用于检测的ROl做同样变换,以保证其仍能准确圈定特征区域;
  • 基于ROI进行测量和决策。

程序初始化分支中的代码先读取标准样本图像FIs00.png和特征模板图像template.png到内存中。其中特征模板为产品的底座部分。此后,程序调用工作在搜索参考坐标系模式下的IMAQ FindCoordSys (Pattern)3,在标准样本图像中搜索与特征模板匹配的部分,以设置标准图像的参考坐标系。CORE: :SetupROI分支中的代码基于标准图像设置了测量ROI的位置。程序设计如下所示:

牙线检测实例程序及GUI
坐标系设置
测量ROI设置
更新测量坐标系

程序效果如下所示:

项目下载请参见:https://download.csdn.net/download/m0_38106923/19753944

灰度检测的另一个典型应用场合是灌装检测。例如,在下图所示的生产线上,相机要逐个检查产品所灌装的液位是否达标。此时就可以根据瓶颈处矩形ROI区域内的平均灰度是否在灌装要求的范围内来检测产品的质量。而灌装液位的上下限可以分别由液位到达上限或下限时的图像灰度均值来表示。此外,为了降低光线变化对产品系统的影响,通常此类检测在HSL空间上进行。

以上是关于LabVIEW实现连续图像测量,采集图像后,程序运行实现尺寸测量的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集

labview中,我想显示灰度图像,数据是我自己用摄像头采集的yuv,只取y值,我自己的搞的总是显示彩色

LabVIEW图像灰度测量

LabVIEW操作鼠标滚轮放大/缩小图像

LabVIEW操作鼠标滚轮放大/缩小图像

LabVIEW操作鼠标滚轮放大/缩小图像