我们学习编程的时候,最先就要知道程序是执行的顺序。然后掌握控制程序流程。
任何一种编程环境,都要具备 顺序,条件,循环 三种控制流程的方式。才能满足灵活的需求。
vm也一样,你要灵活的编写你的流程。一定要掌握vm环境下的控制流程。
顺序:vm的流程,它就是随着箭头,顺序执行。数据流,也是随着箭头。后面的流程,可以拿到前面的数据。
条件:普通程序 就是if...else...或 switch...case。在vm里面就是下图所示的三个工具。
通常是 多条件时,条件检测 与分支模块 组合一起使用。单一条件时分支模块也可以单独使用。逻辑工具是对条件检测的补充。
点开工具。字面意思就可以理解。无需多讲。
循环:vm里面有一个循环工具。
通过工具 Group,设置循环。类似for循环。可以设置循环起始,次数,中断,间隔。
vm里唯一的循环工具,一定要掌握。
应用场景:模板匹配,匹配到多个目标,每个目标都要进行图像处理。就要用到循环。
这里输入设置,数据结构虽然是float类型。但是在group内使用的时候,其实是当做数组使用。如下图所示。
循环索引,就相当于for循环的i。
group循环调试注意:
这个是重点。因为流程中的任意一个工具,只要点击执行,就会运行整个流程。如果循环设置打开了。那循环就一定会跑完。如果你循环100次,你就要等循环跑完100次,流程才会停下来。而且循环过程中的工具执行,不会显示。而且循环执行过程中,不能手动中断。循环中的其他工具设置异常,容易把流程卡死。死机那种死。而且还不能保存。
综上,建议调试循环的时候,一定要把循环关闭后再调试。调试好后,再把循环打开。
以上就是vm的三种流程控制。
只有掌握了 vm中的三种流程控制。你才能做到随心所欲。
一定要记住,图像处理只是视觉的一部分。相当于程序中的功能函数。只有一个功能函数,是没用的。
你的功能函数,只有嵌入你的程序流程,才有意义。
掌握流程控制,你才能编写出,你要的程序流程。
PS:温馨提示
特别是初入视觉的人员。你开始调试最多的,并不是视觉。而是通讯 和 流程逻辑。
视觉工具,参数你不会调,有人支援你。你主管可以理解你。
通讯,流程逻辑,你不会调。你不会被理解。只会挨骂(就算表面不会说你,其实别人内心已经开骂了)。