石鑫华视觉论坛

 找回密码
 注册会员
查看: 1869|回复: 0

[原创] LabVIEW Vision图像处理开发宝典-第二章 结构框架-第四节 通用图像处理平台流程图

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

    连续签到: 4 天

    [LV.Master]2000FPS

    发表于 2020-5-11 17:48:24 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

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

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

    x

    LabVIEW Vision图像处理开发宝典-第二章 结构框架-第四节 通用图像处理平台流程图

    第四节通用图像处理平台流程图

    图1 通用图像处理平台VI层次结构

    图1 通用图像处理平台VI层次结构
    1 通用图像处理平台VI层次结构
    本平台的VI调用层次相对比较简单,大部分的VI调用都在三层以内,即主程序调用子VI,子VI再调用底层VI。一般来讲,程序编写,不需要有太深的调用关系,这样会非常麻烦,也不是很好理解程序的逻辑。最佳的方法就是主程序调用功能VI,然后功能VI调用实现这些功能的相关子VI、节点、属性、方法等。这样通过简单三层关系,来实现程序,是比较合理的。
    图中有些许函数的调用关系比较复杂,如OpenG中的INI文件操作的VI,这里面就有太多复杂的调用,如果要想明白其中的关系,不花点时间,是很难搞明白的。OpenG的原则是尽可能多的实现通用性,因此其中就会有许多的可能性,每种可能性就会有一个VI,所以才会有比较复杂的调用关系。而在图像处理中,一般不会有太多复杂的调用关系,一切以简单高效为准。
    图像处理程序,与其它测试测量程序的编写方法类似。其主要的流程为初始化(参数、硬件、界面等)>响应前面板用户事件>执行事件>图像采集>图像处理>数据判断>保存数据结果、图片>图像采集>图像处理……保存数据>退出。

    图2 通用图像处理平台简易流程图

    图2 通用图像处理平台简易流程图
    2 通用图像处理平台简易流程图
    通用图像处理平台使用生产者消费者(事件)模式为主要结构,生产者中的事件结构用于响应前面板的所有事件,如登录、登出、参数设置、参数另存为、打开参数、运动、连续采集、单帧采集、图像处理、自动运行、缩小图像、放大图像、原始大小、适合窗口、帮助、最小化、退出等事件。同时也可以响应图像显示控制中的事件,如ROI变换;参数值改变的事件等,所有前面板事件。

    图3 生产者(事件结构)

    图3 生产者(事件结构)
    3 生产者(事件结构)
    在主生产者消费者模式中的消费者,使用的是出队列+状态机的模式。用于响应生产者生成的队列元素。

    图4 事件消费者+数据生产者

    图4 事件消费者+数据生产者
    4 事件消费者+数据生产者
    在消费者中,为了提高采集图像与图像处理的效率 ,会将采集图像与图像处理两部分的内容分开并行执行,这样就又增加了一个附加的生产者消费者(数据)结构。其中生产者在主生产者消费者(事件)结构的消费者中,而附加的生产者消费者(数据)模式的消费者,则另外再建了一个队列+状态机。

    图5 数据消费者

    图5 数据消费者
    5 数据消费者
    根据以上的流程以及结构分类,即可方便的完成一个相机的图像采集与分析处理任务。如果需要支持多相机,则只需要将生产者消费者(数据)结构,即后面的两个WHILE循环中的内容复制一份,并将其中的VI、控件等,根据情况复制一份复本即可完成多相机的图像处理任务。整个程序的主程序的框架如下图所示:

    图6 通用图像处理平台主程序框架

     图6 通用图像处理平台主程序框架
    6 通用图像处理平台主程序框架


    回复

    使用道具 举报

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

    本版积分规则

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

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

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

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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