机器视觉通用软件开发系统的制作方法

文档序号:15828722发布日期:2018-11-03 00:11阅读:392来源:国知局

本发明涉及计算机技术领域,尤其涉及一种机器视觉通用软件开发系统。

背景技术

随着机器视觉应用技术的快速发展,机器视觉应用市场也呈现迅速扩大的趋势,如电子工业领域的基于机器视觉的检测技术,能够替代人工实现产品质量缺陷的快速定位和检验,对提升产品检测工作效率,提升产品质量具有重要作用。然而基于机器视觉检测技术的应用系统比较复杂,应用软件的开发需要解决以下技术问题:简易便捷的图形编程技术、通用的图像处理技术、高可靠工业通信和外部执行机构控制技术、系统安全和版权保护技术等。现阶段,上述技术问题的解决通常依赖于软件开发人员的技术水平,要求软件开发人员有较高的编写代码水平并且掌握多学科交叉复杂信息处理技术,从而造成软件开发项目开发难度大、成本高、开发周期长。



技术实现要素:

本发明提供的机器视觉通用软件开发系统,能够在该系统上实现机器视觉应用软件的开发,降低机器视觉软件开发的难度,缩短开发周期,降低开发成本。

本发明提供一种机器视觉通用软件开发系统,所述机器视觉通用软件开发系统包括:机器视觉集成开发环境、机器视觉功能模组及机器视觉服务程序,其中,

所述机器视觉集成开发环境提供人机交互界面,供用户设计应用方案,所述机器视觉集成开发环境包括界面设计器、逻辑设计器、相机管理器、数据存储管理器和授权管理器,其中,

所述界面设计器提供所见即所得的界面配置,方便用户自定义界面;

所述逻辑设计器提供机器视觉应用软件的逻辑组态编辑及算法的实时调试工具;

所述相机管理器提供相机工程管理、相机参数设置及实时图预览工具;

所述数据存储管理器用于导入和保存工程数据、运行数据及日志管理;

所述授权管理器,用于提供授权方法;

所述机器视觉功能模组,为所述机器视觉集成开发环境提供功能模块及功能接口,以使所述机器视觉集成开发环境通过所述功能接口调用相应的功能模块;

所述机器视觉服务程序,为所述机器视觉功能模组提供服务与支持。

可选地,所述机器视觉功能模组为所述机器视觉集成开发环境提供的功能模块包括:

基于视觉算法封装成的工具,所述基于视觉算法封装成的工具包括检测工具、识别工具、定位工具及测量工具,供所述机器视觉集成开发环境的逻辑设计器调用;

基于genicam标准封装成的相机管理模块,供所述机器视觉集成开发环境的相机管理器调用;

基于c/c++开发标准、socket和rs232/rs485通信库封装成的通信模块,供所述逻辑设计器调用;

基于常用的io卡以及运动控制卡的sdk二次开发封装成的库函数,供所述逻辑设计器调用。

可选地,所述逻辑设计器包括:工具箱、工具流程及属性设置,所述工具箱显示所有已开发的工具,所述已开发的工具包括所述机器视觉功能模组提供的基于视觉算法封装成的检测工具、识别工具、定位工具和测量工具以及基于机器视觉应用软件的图像采集功能模块、通信功能模块、逻辑处理功能模块和系统工具功能模块;

所述逻辑设计器用于根据应用需求,从工具箱中选择需要的工具添加到工具流程列表中,并在属性设置中设置所述工具流程列表中的每个工具的参数。

可选地,所述逻辑设计器,还用于将所述工具流程列表中的工具从所述工具流程列表中删除。

可选地,所述数据存储管理器,用于将所述工具流程列表中的工具及所述工具的参数保存为一个工程,所述工具流程列表中所添加的工具为所述工程的任务。

可选地,所述数据存储管理器,还用于在所述将所述工具流程列表中的工具及所述工具的参数保存为一个工程之后,将所保存的工程数据导入到内存中。

可选地,所述数据存储管理器,还用于在将所保存的工程数据导入到内存中之后,以双进程的方式进行运行,所述双进程包括数据处理进程和实时显示进程,所述数据处理进程用于根据所述工具流程列表中的工具执行任务,所述工具流程列表中所添加的工具的顺序为任务执行的顺序;所述实时显示进程用于根据用户通过所述界面设计器自定义的界面配置显示界面前端;

所述双进程运行方式由所述数据处理进程创建共享内存,当启动所述实时显示进程时,所述实时显示进程通过访问共享内存将系统运行时的信息实时直观地展现在界面前端。

可选地,所述授权管理器用于提供所述机器视觉通用软件开发系统的运行版和试用版,所述机器视觉通用软件开发系统运行版为一机一码,授权后在本机上可以永久使用;所述机器视觉通用软件开发系统试用版为一机一码,提供指定时间的免费试用授权。

本发明提供一种机器视觉通用软件开发系统,所述系统包括机器视觉集成开发环境、机器视觉功能模组及机器视觉服务程序,所述机器视觉集成开发环境提供人机交互界面,供用户设计应用方案,所述机器视觉功能模组提供功能模块及功能接口供所述机器视觉软件集成开发环境使用,所述机器视觉服务程序为机器视觉功能模组提供服务与支持。与现有技术相比,本发明提供的机器视觉通用软件开发系统,能够在该系统上实现机器视觉应用软件的开发,降低机器视觉软件开发的难度,缩短开发周期,降低开发成本。

附图说明

图1为本发明一实施例机器视觉通用软件开发系统的结构示意图;

图2为本发明一实施例机器视觉通用软件开发系统的应用环境框图;

图3为本发明一实施例机器视觉通用软件开发系统的真实运行环境的系统架构图;

图4为本发明一实施例机器视觉通用软件开发系统的双进程运行方式的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种机器视觉通用软件开发系统,如图1所示,为所述系统的结构示意图,所述机器视觉通用软件开发系统包括:机器视觉集成开发环境11、机器视觉功能模组12及机器视觉服务程序13,其中,所述机器视觉集成开发环境11提供人机交互界面,供用户设计应用方案,所述机器视觉集成开发环境包括界面设计器111、逻辑设计器112、相机管理器113、数据存储管理器114和授权管理器115,其中,

所述界面设计器111提供所见即所得的界面配置,方便用户自定义界面;

所述逻辑设计器112提供机器视觉应用软件的逻辑组态编辑及算法的实时调试工具;

所述相机管理器113提供相机工程管理、相机参数设置及实时图预览工具;

所述数据存储管理器114用于导入和保存工程数据、运行数据及日志管理;

所述授权管理器115,用于提供授权方法;

所述机器视觉功能模组12,为所述机器视觉集成开发环境11提供功能模块及功能接口,以使所述机器视觉集成开发环境11通过所述功能接口调用相应的功能模块;

所述机器视觉服务程序13,为所述机器视觉功能模组12提供服务与支持。

可选地,所述机器视觉功能模组12为所述机器视觉集成开发环境11提供的功能模块包括:

基于c/c++以及opencv等平台开发的上百种常规视觉应用需要用的视觉算法,并根据应用领域划分为检测、识别、定位以及测量4大类,并按类封装成工具,例如常用的检测工具包括灰度匹配、亮度匹配、轮廓检测、斑点检测等;常用的识别工具包括条形码识别、二维码识别、颜色识别、ocr(opticalcharacterrecognition,光学字符识别)等;常用的定位工具包括通过形状匹配定位、通过灰度特征定位等;常用的测量工具包括点到点测量、点到线测量、线到线测量、线等面测量等。这些基于视觉算法封装成的工具供逻辑设计器112调用;

基于国际通用相机库genicam(generalimagecamera)标准封装成的相机管理模块,该相机管理模块对遵循genicam标准的相机都支持,例如对遵循genicam标准的相机进行图像采集、相机参数的设置、实时图预览等操作,该模块供所述机器视觉集成开发环境的相机管理器调用;

基于c/c++开发标准、socket和rs232/rs485通信库封装成的通信模块,供所述逻辑设计器中工具箱提供的通信功能模块调用;

基于常用的io卡以及运动控制卡的sdk二次开发封装成的库函数,供所述逻辑设计器中工具箱提供的通信功能模块调用。

本发明实施例提供的机器视觉通用软件开发系统,建立了系统功能接口、管理、硬件抽象层等各类通用封装模块,构建了灵活便捷的人机编程界面,建立了模块化、图形化、易于搭建的通用软件平台开发环境。如图2所示,为本发明提供的机器视觉通用软件开发系统的应用环境框图,用户通过该软件系统无需阅读相机厂商复杂的sdk开发手册,无需在相机厂商sdk上做二次开发即可打通与取相设备的连接,无需学习plc编程即可打通与plc设备的连接,无需编程即可与机器人通信。

如图3所示,为本发明实施例提供的机器视觉通用软件开发系统的真实运行环境的系统架构图,该系统架构解决了软件平台与外部硬件执行机构的高可靠通信及快速响应和控制问题,建立快速协调的软硬件体系,并且建立系统数据存储和读取、版权保护的机制和策略、提升系统的安全性,实现软件平台版权在线保护。

下面对所述机器视觉集成开发环境11的具体应用及系统运行进行说明。

所述逻辑设计器112包括:工具箱、工具流程及属性设置,所述工具箱显示所有已开发的工具,所述已开发的工具包括所述机器视觉功能模组12提供的基于视觉算法封装成的工具,如检测工具、识别工具、定位工具和测量工具;还包括所述机器视觉功能模组12提供的基于机器视觉应用软件的功能模块,如图像采集功能模块、通信功能模块、逻辑处理功能模块和系统工具功能模块;

所述逻辑设计器112用于根据应用需求,从工具箱中选择需要的工具添加到工具流程列表中,并在属性设置中设置所述工具流程列表中的每个工具的参数,还用于根据应用需求将所述工具流程列表中的工具从所述工具流程列表中删除。

工具选择和属性设置完成后,通过数据储存管理114中的保存功能,即可储存到本地磁盘中,下次使用时,通过数据储存管理114中的打开功能,即可从本地磁盘导入直接使用,也可设置让软件平台启动后自动默认加载某个指定文件,并直接进入运行状态。

系统的运行采用双进程的方式,如图4所示,整个系统由evocvision.exe和evocvision_frontend.exe两个进程来实现,evocvision.exe进程为数据处理进程,负责任务执行,内部采用多线程方式实现,根据用户工具流程里面所选择的工具的数量及类型,动态规划线程以保证任务执行的实时性,所述工具流程列表中所添加的工具的顺序为任务执行的顺序;evocvision_frontend.exe进程为实时显示进程,负责界面前端显示,根据用户通过所述界面设计器自定义的界面配置显示界面前端。

数据处理与实时显示两个进程间通过内存共享方式实现高效通信,具体地,由所述数据处理进程创建共享内存,当启动所述实时显示进程时,所述实时显示进程通过访问共享内存将系统运行时的信息实时直观地展现在界面前端。采用两个进程的运行方式,使得数据处理进程所有资源都专注于数据处理,保证任务执行的实时性,实时显示进程专注于前端显示,把运行时信息实时直观展现在用户面前。

综上,系统主程序evocvision.exe提供逻辑设计器112和界面设计器111的数据的运行,用户在逻辑设计器112中通过添加/删除工具到流程列表以及工具属性配置对每个工具进行参数配置以满足不同视觉应用需求,同时通过界面设计器111设计所需运行界面,解决了机器视觉通用开发软件系统的通用性、易用性问题;系统辅助程序evocvision_frontend.exe,按用户自定义显示界面方式实时显示用户自定义运行时数据,解决了机器视觉通用开发软件系统的实时性问题。

此外,所述授权管理器11用于提供所述机器视觉通用软件开发系统的运行版和试用版,所述机器视觉通用软件开发系统运行版为一机一码,授权后在本机上可以永久使用;所述机器视觉通用软件开发系统试用版为一机一码,提供指定时间的免费试用授权。

本发明提供一种机器视觉通用软件开发系统,所述系统包括机器视觉集成开发环境、机器视觉功能模组及机器视觉服务程序,所述机器视觉集成开发环境提供人机交互界面,供用户设计应用方案,所述机器视觉功能模组提供功能模块及功能接口供所述机器视觉软件集成开发环境使用,所述机器视觉服务程序为机器视觉功能模组提供服务与支持。与现有技术相比,本发明提供的机器视觉通用软件开发系统,能够在该系统上实现机器视觉应用软件的开发,降低机器视觉软件开发的难度,缩短开发周期,降低开发成本。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1