简介
MegaVision是盛相科技(MEGA PHASE)打造的一款简单易用的,扩展性强,跨平台的的测量软件。
功能特性
多相机兼容
- 可连接SizectorS/M和Hdc相机;
- 支持多相机同时控制;
多种支持
- 支持输出IO,TCP,数据库等;支持字符解析和字符格式化;
- 支持通信事件;支持变量设置;支持json文本解析;
- 支持通过模板匹配、特征以及手动设定的2D坐标系的建立,用于区域设置;
- 支持多种区域,如矩形、圆形、旋转矩形、环形、多边形(开发中)等; 支持路径化、阵列化区域;
2D、3D、横截面
- 3D/2D图像显示;
- 高效的2D,3D和横截面预处理:高斯滤波、均值滤波、中值滤波、边缘检测、反色,二值化、镜像、旋转、几何变换、去飞点、修补、平滑、锐化、3D变换等;
- 精确度高的2D,3D和横截面测量算子:点、直线、平面、圆、球、点点测量、点线测量、线线测量、面面测量、高度测量、体积测量、粗糙度测量、球杆测量、Blob、相机映射、目标检测、矩阵运算、数值运算等;
灵活性和插件化
- 用户可以开发自己的插件,扩充软件功能;
- 流程图形式控制运行逻辑,可以使用条件分支,循环等控制逻辑;
环境要求
获取和运行
执行lemonApp.exe,程序获取目录:
\\Mpshnas\02_03_研发_软件\01_软件发布\09_lemon\
当前仅开放部分部门和人员可以访问,以后陆续开放,详情联系软件组。
软件主界面
主页由菜单栏,工具栏和主界面组成,其中,主界面由图像显示区域,模块选择选择列表,流程图编辑区域和结果表格区域组成:
点击工具栏关于
查看当前软件版本。
① 菜单栏
文件:打开/保存文件;导入/导出组合模块
程序设置:运行界面模块
帮助:软件版本
② 工具栏
常用工具的操作,如文件操作、模块操作、通信等
③ 图像显示
图像区域支持2D显示和3D显示;根据所选模块,显示选择模块的输出图像;如果模块有多个输出图像,还可以选择输出对象。例如可以通过本地数据模块,载入一个SizectorS的mpdat图像数据。
详细说明见:图像显示
④ 输出
如果模块有结果输出,输出模块以表格显示展示输出结果:
表格输出
表格支持:
- 当前结果显示
- 历史结果查看
- 统计表格查看
- 表格手动保存和自动保存
日志和诊断
可以使用日志程序:Dbgview.exe (Dbgview)查看软件输出日志,如使用中遇到异常问题,请提供软件日志给软件同事便于分析。
⑤ 模块列表
模块列表按照分类,列出了软件的所有模块(部分模块或称作算子),模块是可执行的单元,可以完成特定的功能和输出结果;同时模块也是流程图中的一个节点,通常由模块的前级节点执行完成后,触发模块自己执行,最后模块再触发后级节点,以此类推。
添加模块(通过工具栏)
通过工具栏添加模块:
- 选中模块列表中需要添加的模块
- 选中流程图中一个节点
- 点击工具栏
添加
,将模块添加到选中节点的后面
开始
和结束
模块是特殊节点,不能为开始
添加前级节点,以及不能为结束
添加后级节点 。
添加模块(通过拖拽)
删除模块
通过工具栏删除模块:
- 选中待删除的模块
- 点击工具栏
删除
- 在“移除模块提示”中选择确定,删除模块
模块设置
模块添加到流程图后,右键单击弹出模块的设置界面,如相机模块和高度测量模块设置如下:
相机模块 | 高度测量模块 |
根据模块不同,设置页的内容和样式可能不同。设置页面一般包含:
- 参数设置
- 模块说明描述:简述模块的使用;上方有帮助按钮,点击可以跳转到帮助文档,查看更详细说明
- 保存按钮:当修改设置后,修改项会亮色标出以提示设置被修改 ,点击保存按钮保存修改,并恢复正常显示
- 执行按钮:单独执行模块,便于查看修改参数后执行的效果
⑥ 流程图
流程图是软件执行的控制中心和内容核心,其包含一组开始
和结束
节点,以及其他任意添加的功能模块/算子节点。软件运行的整个过程,就是按流程执行流程中的所有模块,而软件的最终产出,也在流程执行中,由各个具体模块产生。
单击菜单栏的单次
,流程图从开始
节点开始执行,然后执行其后的第一个节点,其后节点执行完后,再执行它的后级节点,以此类推;最后到结束
,则一次运行结束。
流程图的每个模块节点执行时,可以产生结果和数据,包括图像、数值、硬件输出、TCP发送等;这些数据除了直接可视化呈现,又可以被后面模块节点用作参数输入,从而形成数据流转;亦可以发送到其他设备,驱动外部设备。
不同的任务需求,通过配置不同流程图满足。配置好的流程图可以通过菜单栏的保存
和导入
,来备份和重新载入。
另外,一些节点有更特殊的跳转后级模块的逻辑,如条件分支,请参看:条件分支
以上图为例,程序将如下依次执行:
- 开始
- 本地数据
- 矩形区域
- 粗糙度测量
- 如果粗糙度测量结果小于等于0.1,则执行分支1(通过分支设置页面设定了条件);如果糙度测量结 果大于0.1,则执行分支2(上图中简写为2)
- 如果执行分支1,则执行OK字符串和发送数据,发送OK字符
- 如果执行分支2,则执行NG文本和发送数据,发送NG字符
- 汇合
- 结束
所有模块
所有模块按功能分组,包括:
- 相机与数据:支持相机拍摄,数据导入和导出等;
- 区域:支持多种区域,如正矩形区域,旋转矩形区域,圆形区域,环形区域,阵列区域,路径区域,克隆区域等;
- 几何:2D点,卡尺2D,查找直线2D,拟合直线2D,拟合圆2D,3D点,3D点集,平面,平面集,拟合球;
- 定位:坐标系(支持手动设定坐标系),Bolb2D,模板匹配,相机映射2D,相机映射3D;
- 测量: 点点测量2D,点线测量2D,线线测量2D,点点测量3D,点线测量3D,线面测量3D, 面面测量3D,高度测量,体积测量,粗糙度测量,球杆测量,多平面交点,厚度测量;
- 计算:变量,设置变量,数值运算,矩阵运算,排序,矩阵,结果判定;
- 图像处理:支持二值化2D,滤波2D,几何变换2D,去除飞点,填补,平滑,中值滤波,3D变换,深度图,范围限制,拼接图像,平面误差补偿,去畸变;
- 检测:支持目标检测
- 流程控制:支持条件分支,并行分支,循环模块,Gpu流,Gpu上传,Gpu下载;
- 输入输出:接收数据,发送数据,格式化字符,表格,等待事件,Json解析,数据库,SicectorS输出,时间获取;
基于1.10.0版本。
更多信息,请见“模块概览”