典型的机器视觉软件应用中,典型的构造如下

视觉系统基础构造
典型应用中,下位机或者光电传感器触发上位机(视觉软件)拍照,上位机进行拍照、算法处理,处理结果给到下位机或者通过IO的方式。 上图成像系统1、3中图像数据可以通过很多种方式传输,常见的有Gige、USB3.0、1394a1394b、CameraLink、CoaXPress等常见的接口,最常用的网口GiGe和USB3.0接口。图像数据获取成功后算法层面可以使用对应的算法,看个人习惯,我常用halcon、OpenCV或者VisionMaster。

整体框架流程
一个视觉软件(上位机)可以分为上面一个总的架构,UI层和运行流程,UI层是来进行参数配置界面展示数据的,运行流程总的流程组合,线程运行。
通常情况下,UI层我们看到的数据都是通过winform或者qt 拉取对应的控件进行设计,然后把数据保存到数据中心,这个时候数据在内存中,同时也会保存数据到本地,数据的存储格式常见的有xml、ini、数据库存储等方式。UI层设置好数据后,把数据加载到数据中心,数据中心把数据加载到运行流程,流程数据就会跟着改变的参数运行。
运行流程中通常是对流程的组合,初始化连接的时候会把相机、数据库、IO、PLC、MES等各种相关