石鑫华视觉论坛

 找回密码
 注册会员
查看: 4847|回复: 3

[原创] 图像处理中的多线程并行处理

[复制链接]
  • TA的每日心情
    擦汗
    11 小时前
  • 签到天数: 3382 天

    连续签到: 4 天

    [LV.Master]2000FPS

    发表于 2015-3-30 10:37:24 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

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

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

    x
            对于现在的计算机而言,核心数目都比较多,内存也比较大,所以一般都可以很轻松的应对多线程的程序。而图像处理中,要想获得较高的效率,也应该考虑使用多线程。除非一定需要执行顺序结构,不然都是应该考虑使用并行的多线程结构的。这样对于生产效率的提高是非常有利的。下图是简单的表现了一下并行与顺序执行时的耗时。执行了一个找圆与测量最高绿叶尺寸。顺序执行时,耗时约为7ms,并行执行时约耗时5ms。当然这里使用的函数都是耗时比较少的。而如果使用的是匹配等函数,耗时就会比较多,如果使用并行将会有较大时间的改善。

                                   
    登录/注册后可看大图

    LabVIEW天生的多线程处理编程平台


                                   
    登录/注册后可看大图

    NI Vision Assistant视觉助手生成VI时可选是否优化并行执行

    在NI视觉助手生成VI时,可以选择是否使用优化代码为并行执行时,如果优化代码,则视觉助手生成的代码将尽可能的并行执行程序。下面的图像显示了使用优化代码对于并行执行与不优化代码前后的执行时间比较。

                                   
    登录/注册后可看大图

    为并行执行优化代码后的执行时间

    上面的例子是找图中的圆环的内外圆,并行多线程时,执行时间约在2ms内,通常为1ms。而顺序执行时,则处理时间在2ms~14ms内都有可能,大部分都处于7ms的水平。由此可见,并行执行还是非常有效率优势的。

    当然并行并不简单的指图像处理函数之间的并行,也可以是其它的执行机构的并行。如拿料、上料、取料等相互协调工作的同时,又相互独立,并不一定需要某一个动作完成了以后再去执行另一个动作。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-8-9 12:52
  • 签到天数: 307 天

    连续签到: 1 天

    [LV.8]800PFS

    发表于 2015-6-4 06:38:41 | 显示全部楼层 来自:甘肃省天水市 电信
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-12-3 11:24
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]100FPS

    发表于 2015-12-2 15:25:21 | 显示全部楼层 来自:天津市 电信
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-9-15 09:08
  • 签到天数: 27 天

    连续签到: 2 天

    [LV.4]400FPS

    发表于 2022-6-13 18:56:11 | 显示全部楼层 来自:广东省东莞市 电信

    以前一直没有并行处理的观念,学习了,谢谢楼主分享!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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

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

    GMT+8, 2024-11-20 19:37

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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