石鑫华视觉论坛

 找回密码
 注册会员
查看: 336|回复: 1

[原创] LabVIEW HALCON图像处理入门教程-同步采集和异步采集

[复制链接]
  • TA的每日心情
    慵懒
    昨天 10:09
  • 签到天数: 3411 天

    连续签到: 13 天

    [LV.Master]2000FPS

     楼主| 发表于 2024-1-31 11:26:26 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    视频简介请关注视频号、抖音、快手、B站、小红书等“石鑫华视觉”账号
    视频二维码.png
    简单介绍了基于LabVIEW+Halcon的图像采集过程中的同步采集和异步采集的区别。LabVIEW IMAQdx采集图像时,通常都是能够达到工业相机标称的最高速度的。但是使用LabVIEW+Halcon进行图像采集时,如果使用同步采集时,则怎么调整参数都达不到全速。而使用异步采集时,则可以达到全速。这里主要是Halcon采集图像函数有两种模式,同步模式和异步模式,二者在采集完图像后的处理过程略有不同。同步模式synchronous采集完成后,拿当前的图像继续做后续的图像处理,共用一个内存引用,需要等待图像处理完成后,再去采集下一幅图像。在Halcon中好像有固定的时钟(或者可以简单的认为是有延时时间保护,必须要留一些时间用于图像处理),无论后续是不是有图像处理,哪怕只是简单的连续采集不处理,就是达不到全速,总是会给“图像处理”过程一些时间。
    1.png
    LabVIEW Halcon同步采集
    而异步模式asynchronous,则采集完成后复制一个图像引用给图像处理,要不要处理图像那是你图像处理部分的事,采集部分只管采集,所以是根据相机的帧率实时采集的。这是两种采集方式的区别。从这差别来看,NI IMAQdx其实是类似于异步采集。当然NI IMAQdx并没有区分同步和异步采集。
    2.png
    LabVIEW Halcon异步采集
    站在图像处理的角度来考虑,其实我们无论如何,都是要考虑使用同步的方式来处理的。当然,这里并不是指直接用上面Halcon中的同步采集。而是整个采集图像、处理图像、结果判断、保存数据、信号输出等,大概的一个过程是需要同步处理的。一个检测产品到来后,首先采集图像,得到图像后,总是要扔给图像处理模块来完成图像处理的过程,然后判断结果,保存数据,输出信号,交给其他执行机构来处理后续的内容。
    这个过程中,LabVIEW如果使用常规的生产者消费者模式来应对,异步模式就是生产者中完成采集图像的过程,然后扔给队列,在消费者中进行处理。这种方式的话,就是当相机采集图像速度过快时,就会将新图像覆盖原来旧的图像(因为队列中使用的是问题内存的引用,采集过快(这样的问题比较常见,图像处理耗时相对比较长,几毫秒到几十毫秒、几百毫秒都可能,而100帧的速率的相机平均采集时间只有10ms),就会覆盖引用中之前的数据),这样如果是连续模式时(无触发),就会丢失中间的数据。当然,如果是使用触发模式,那么应该总是在处理完上一次的图像后,再执行下一个产品,理论上也是一个同步过程,不会丢失触发后的数据。
    3.png
    LabVIEW自带范例中的异步处理
    这个过程如果使用同步模式,那么就是在消费者中直接采集图像,然后接着继续后面的图像处理、结果判断、保存结果、信号输出等等过程,直到这个过程结束,再执行下一次循环,重新采集新的图像。这种同步模式无论相机的采集速度是否快于图像处理的速度,总是以整个采集、处理、判断、输出过程为准,需要这个过程完成后,再执行下次过程。如果是无触发的连续处理,则总是实时得到检测目标的最新图像。当然,如果整个过程耗时比较久,如果是对于运动目标,那么可能在下一次采集时,目标的位移会比较大。
    4.png
    LabVIEW自带范例中的同步处理

    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-6-6 14:29
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]200FPS

    发表于 2024-2-19 20:09:31 | 显示全部楼层 来自:安徽省铜陵市 电信
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(24.09)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-12-22 10:03

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表