再次说明:要把视觉系统,当成传感器来用。那就要符合传感器的交互方式:接收信号,触发传感器,返回结果。
不管设备的逻辑控制是PLC,还是上位机。都是这个交互方式。
掌握了通信。我们再来讲一讲。VM视觉流程,怎么编辑。图像处理算法,怎么来学习。(相机硬件部分,我以前写过帖子,可以复看)
1,想掌握,vm编辑流程的方式。流程图式的编辑方式。根据连接线的箭头,确定流程模块的先后执行,以及后面的流程,可以拿到前面流程的处理结果。这个要很清楚。
2,学习vm的算子模块。我们不要胡乱学。而是要有章法。先分类,了解该类别,做什么用。再根据应用场景来学习。
这一点。halcon的例程做的很好。VM的例程,感觉就是假装做的,仅仅是完成领导交付的任务。根本没有以用户为中心的角度,去编写例程。 这也是入门VM不友好的原因。也是我开篇写这些帖子的原因。
3,我推荐的分类方式:
1) 通信类: 数据接收,数据发送,协议解析,通信管理,触发工具。
2) 逻辑流程类: 条件检测,分支模块,条件分支。(循环,可以后面再掌握)
3) 定位类:快速匹配,位置修正。(匹配一般是粗定位,用快速匹配就好了)
4) 找点找边缘类:找圆,找直线等 (都是测量矩形的应用)
5) 计算类: 点点,电线,线线 等测量。直线,圆拟合。角平分线,垂线计算。旋转计算。(这些都是几何计算)
6) 标定:N点标定,标定板标定。(一个用于,图像与机械结构 简历坐标映射 ,目的引导定位; 一个用 图像于标定板建立映射,目的是镜头畸变矫正)
7)辅助类:格式化,几何创建,以及渲染显示设置。
8) 独立工具类:条码检测,字符缺陷检测。还有深度学习也属于这一类(其它缺陷检测工具,我很少用。也属于这一类)
9) 图像处理类:先掌握一点图像预处理之 形态学。其它工具,后面我们单独讲。而且讲的核心,也是找到对应的场景。如果没有应用场景。对于没有图像处理基础的人,很难掌握并应用到项目中。而VM对应的用户,就是没有图像处理基础的人。
我这种分类,有递进关系的。我建议是按照顺序来学习。掌握了1-7 类别,就可以做市面上几乎 所有的 定位和测量项目。
而掌握 8 ,就可以做对应的项目。
掌握9,就可以处理更复杂的现场应用。还有就是图像源不好的情况下,你更多办法。
3,学习这些工具,一定要问自己,这工具是干什么的,怎么用。为什么有用?一定要赵到该工具的应用场景。
匹配算子,测量矩形 算子 讲解,我之前单独写过帖子,请在往期帖子里找一下来看。