一般的机器视觉平台采用纯代码的编程方式,如opencv、halcon,使用门槛高、难度大、定制性强、开发周期长,因此迫切需要一个低代码开发的视觉应用平台。AOI缺陷检测的对象往往缺陷种类多,将常用的图像处理算子封装成图形节点,如抓直线、抓圆、模板匹配等,在软件上自由组合完成对缺陷的判断将大大提高效率。目前我接触到的通过流程图拖拽的方式搭建视觉应用的软件有Vision Master、Smart3、VisionTool等,下面将简单介绍下:
VisionMaster介绍
Vision Master封装了千余种海康自主开发的图像处理算子,形成了强大的视觉分析工具库,无需编程,通过简单灵活的配置,便可快速构建机器视觉应用系统。该软件平台功能丰富、 性能稳定可靠,用户操作界面友好,能够满足视觉定位、测量、检测和识别等视觉应用需求。
Smart3介绍
Smart3 智能视觉系统是一款简单易用、功能齐全、性能稳定的智能型视觉软件系统。Smart3 智能视觉软件由 OPT 公司自主研发,集成图像工具箱、定位工具箱、测量工具箱、检测工具箱、识别工具箱、通讯设置工具箱、其他工具箱和 3D 工具箱等一系列图像处理功能。支持市面上可见的绝大多数相机品牌,支持 GeniCam 协议。并支持串口、TCP 等多种通讯模式及主流的通讯协议,能够方便的与各品牌运动控制设备建立数据交互。Smart3 智能视觉系统采用图形编辑代替了代码编写,从而实现检测项目的快速开发。流程与事件触发机制的组合,能够便捷的实现大部分视觉检测项目。基于异构计算加速技术,使图像分析速度全面提升。该系统还支持在线调试功能,使应用项目能够在不停产停机的情况下,快速调整视觉参数设定以获取最优检测效果。智能视觉系统还支持用户基于自定义需求的二次开发。并基于COM 和.NET 接口技术,增加了对 VB,C#,C++多种编程语言的支持。可自由配置的模块化 UI界面,能满足用户的特殊显示需求。
VisionTool介绍
visiontool是一款以拖拽编程为主的视觉软件,大体上可划分为Task、Block及Tool三个层级,里面封装好多种视觉检测算法,机械手及相机(等硬件)控制指令,相机加机械手组合使用算法。用户需要在task层级,通过流程图的方式搭配block的运行逻辑,在block层级拖出所需的tool并做变量赋值,即可完成各种自动化任务。
借鉴以上软件自己实现了一个基于halcon的流程图拖拽编程软件
后期博客将分模块为大家介绍具体实现方式,模块划分如下:
1、流程编辑器:控件的拖拽与节点生成、流程数据保存与解析
2、工具箱:存放节点控件
3、属性编辑器:编辑每个节点的参数
4、视觉模块:halcon的封装
5、流程执行器:生成执行链表,依次执行算子。