CN108628597A - 一种机器视觉***开发方法及装置 - Google Patents
一种机器视觉***开发方法及装置 Download PDFInfo
- Publication number
- CN108628597A CN108628597A CN201810377525.5A CN201810377525A CN108628597A CN 108628597 A CN108628597 A CN 108628597A CN 201810377525 A CN201810377525 A CN 201810377525A CN 108628597 A CN108628597 A CN 108628597A
- Authority
- CN
- China
- Prior art keywords
- function module
- data
- module
- signal
- automated inspection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种机器视觉***开发方法及装置,该方法包括:预先创建至少一个功能模块,其中每一个功能模块对应于机器视觉***的一个功能且包括有实现该功能的基础软件代码;针对待开发机器视觉***所包括的每一个目标功能,根据外部触发从至少一个功能模块中获取相对应的目标功能模块;针对每一个目标功能模块,根据外部的触发对目标功能模块进行配置,获得相对应的产品功能模块;根据待开发机器视觉***中各个目标功能之间数据和信号的传输路径,将各个产品功能模块相连接,获得机器视觉***构架图;根据机器视觉***构架图,对各个产品功能模块的软件代码进行整合,获得待开发机器视觉***。本法方案能够提高对机器视觉***进行开发的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种机器视觉***开发方法及装置。
背景技术
机器视觉***是通过机器视觉产品(图像摄取装置)将被摄取目标转换为图像信号,由图像处理模块对图像信号进行处理获得被摄取目标的形态特征,进而根据形态特征实现缺陷检测、尺寸测量、字符识别、图像识别分类等,被广泛应用于电子、钢铁、航空航天、化工、印刷和医疗等领域。根据机器视觉***应用场景的不同,机器视觉***需要具备一个或多个功能,每一个功能可以对应有相应的硬件设备,比如控制相机采集图像的相机采集功能、控制IO卡进行数据读写的IO卡读写功能等,功能还可以没有相对应的硬件设备,比如用于管理数据库的功能、用于图像识别的功能、用于逻辑判断的算法功能等。
目前,在确定机器视觉***所具备的功能后,根据机器视觉***所需具备功能以及各个功能之间的依附关系,统一进行程序代码编写,实现机器视觉***的开发。
针对目前开发机器视觉***的方法,由于不同机器视觉***所需功能不同,功能之间的依附关系也不同,因此通过现有方法开发的机器视觉***具有较强的针对性,所编写的程序代码无法复用到其他机器视觉***的开发工作中,使得每一个机器视觉***都需要重新编写程序代码,导致机器视觉***开发的效率较低。
发明内容
本发明实施例提供了一种机器视觉***开发方法及装置,能够提高对机器视觉***进行开发的效率。
第一方面,本发明实施例提供了一种机器视觉***开发方法,预先创建至少一个功能模块,其中,每一个所述功能模块对应于机器视觉***的一个功能且包括有实现所述功能的基础软件代码,并且不同所述功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点,还包括:
针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块;
针对每一个所述目标功能模块,根据外部的触发对所述目标功能模块进行配置,获得相对应的产品功能模块;
根据所述待开发机器视觉***中各个所述目标功能之间数据和信号的传输路径,将各个所述产品功能模块相连接,获得机器视觉***构架图;
根据所述机器视觉***构架图,对各个所述产品功能模块的软件代码进行整合,获得所述待开发机器视觉***。
可选地,在所述对所述目标功能模块进行配置获得相对应的产品功能模块之后,进一步包括:
根据所述待开发机器视觉***对人机交互的需求,从各个所述产品功能模块中确定具有人机交互需求的至少一个第一产品功能模块;
针对每一个所述第一产品功能模块,判断所述第一产品功能模块是否具有人机交互界面展示功能,如果是,确定所述第一产品功能模块的第一人机交互界面展示框,否则将所述第一产品功能模块与预先创建的展示功能模块相连接,并根据外部对所述展示功能模块的配置确定所述展示功能模块的第二人机交互界面展示框;
创建包括有各个所述第一人机交互界面展示框和各个所述第二人机交互界面展示框的用户界面。
可选地,在所述据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块之后,进一步包括:
以数据展示图标或信号展示图标的形式对所述目标功能模块进行展示,其中,所述数据展示图标和所述信号展示图标根据外部的触发可以相互切换;
所述根据外部的触发对所述目标功能模块进行配置获得相对应的产品功能模块,包括:
当外部触发所述数据展示图标后,根据外部输入的数据配置信息,对所述目标功能模块的数据输入节点的数量、类型和名称,数据输出节点的数量、类型和名称,以及参数节点、状态节点和输入数据响应函数进行配置,并根据数据配置结果对所述数据展示图标进行刷新,使所述数据展示图标上包括有分别对应于每一个所述数据输入节点的数据输入节点标识、分别对应于每一个所述数据输出节点的数据输出节点标识、对应于所述参数节点的参数节点标识、以及对应于所述状态节点的状态节点标识、连接状态标识和运行状态标识;
当外部触发所述信号展示图标后,根据外部输入的信号配置信息,对所述目标功能模块的信号输入节点的数量、类型及名称,信号输出节点的数量、类型及名称,以及输入信号响应函数进行配置,并根据信号配置结果对所述信号展示图标进行刷新,使所述信号展示图标上包括有分别对应于每一个所述信号输入节点的信号输入节点标识,以及对应于每一个所述信号输出节点的信号输出节点标识;
将进行数据配置和信号配置后的所述目标功能模块确定为相对应的所述产品功能模块。
可选地,所述将各个所述产品功能模块相连接获得机器视觉***构架图,包括:
针对每一个所述产品功能模块,根据外部输入的数据传输路径,将所述产品功能模块对应的当前数据展示图标上的各个所述数据输入节点标识与其他所述数据展示图标上的所述数据输出节点标识相连接,并将所述当前数据展示图标上的各个所述数据输出节点标识与其他所述数据展示图标上的所述数据输入节点标识相连接;
针对每一个所述产品功能模块,根据外部输入的信号传输路径,将所述产品功能模块对应的当前信号展示图标上的各个所述信号输入节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接,并将所述当前信号展示图标上的各个所述信号输出节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接;
将各个所述产品功能模块对应的各个所述数据展示图标之间的连接图,以及各个所述产品功能模块对应的各个所述信号展示图标之间的连接图确定为所述机器视觉***构架图。
可选地,在所述针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块之前,进一步包括:
创建至少一个功能模块组,其中,每一个所述功能模块组包括有至少两个按照数据和信号的传输路径相连接的所述功能模块;
所述针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块,包括:
根据外部的触发,从所述至少一个功能模块组中获取至少一个目标功能模块组,将每一个所述目标功能模块组作为一个所述目标功能模块,其中,每一个所述目标功能模块组所包括的至少两个所述功能模块与所述待开发机器视觉***中相应数量的所述目标功能相对应,且所述目标功能模块组所包括的至少两个所述功能模块之间的连接关系与所述待开发机器视觉***中相应的至少两个所述目标功能之间进行数据和信号传输的路径相对应;
针对所述待开发机器视觉***包括的,且在任意一个所述目标功能模块组中没有相对应所述功能模块的每一个所述目标功能,根据外部的触发,从所述至少一个功能模块中获取相对一个的目标功能模块。
可选地,在针对每一个所述目标功能模块,根据外部的触发对所述目标功能模块进行配置,获得相对应的产品功能模块之后,进一步包括:
针对每一个所述产品功能模块,根据所述产品功能模块对数据进行处理过程中各个数据处理步骤所需的时间,对各个所述数据处理步骤进行分组,获得至少两个数据处理步骤分组,其中,不同所述数据处理步骤分组中各个所述数据处理步骤所需时间的和值之差小于预先设定的时长阈值;
针对每一个所述产品功能模块,分别为相对应的每一个所述数据处理步骤分组分配数额相等的计算资源,以对各个数据处理步骤分组所包括的各个所述数据处理步骤进行并行处理,并对各个所述数据处理步骤分组输出的数据进行异步合并处理。
可选地,在针对每一个所述目标功能模块,根据外部的触发对所述目标功能模块进行配置,获得相对应的产品功能模块之后,进一步包括:
为各个所述产品功能模块设置相对应的Lambda表达式,其中,所述Lambda表达式包括库名称、函数名称以及软件代码行数信息,所述Lambda表达式用于监测所述产品功能模块运行过程中出现的异常状况,以及确定所述产品功能模块的软件代码中出现异常状况的异常位置,并将所述异常位置记录到日志文件中。
第二方面,本发明实施例还提供了一种机器视觉***开发装置,包括:模块创建单元、模块选择单元、模块配置单元、构架图生成单元和代码整合单元;
所述模块创建单元,用于预先创建至少一个功能模块,其中,每一个所述功能模块对应于机器视觉***的一个功能且包括有实现所述功能的基础软件代码,并且不同所述功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点;
所述模块选择单元,用于针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述模块创建单元创建的所述至少一个功能模块中获取相对应的目标功能模块;
所述模块配置单元,用于针对所述模块选择单元获取到的每一个所述目标功能模块,根据外部的触发对所述目标功能模块进行配置,获得相对应的产品功能模块;
所述构架图生成单元,用于根据所述待开发机器视觉***中各个所述目标功能之间数据和信号的传输路径,将所述模块配置单元获得的各个所述产品功能模块相连接,获得机器视觉***构架图;
所述代码整合单元,用于根据所述构架图生成单元获得的所述机器视觉***构架图,对各个所述产品功能模块的软件代码进行整合,获得所述待开发机器视觉***。
可选地,该机器视觉***开发装置进一步包括:用户界面生成单元;
所述用户界面生成单元,用于根据所述待开发机器视觉***对人机交互的需求,从所述模块配置单元获取的各个所述产品功能模块中确定具有人机交互需求的至少一个第一产品功能模块,以及针对每一个所述第一产品功能模块,判断所述第一产品功能模块是否具有人机交互界面展示功能,如果是,确定所述第一产品功能模块的第一人机交互界面展示框,否则将所述第一产品功能模块与预先创建的展示功能模块相连接,并根据外部对所述展示功能模块的配置确定所述展示功能模块的第二人机交互界面展示框,并创建包括有各个所述第一人机交互界面展示框和各个所述第二人机交互界面展示框的用户界面。
可选地,所述模块选择单元,进一步用于以数据展示图标或信号展示图标的形式对所述目标功能模块进行展示,其中,所述数据展示图标和所述信号展示图标根据外部的触发可以相互切换;
所述模块配置单元,用于当外部触发所述模块选择单元展示的所述数据展示图标后,根据外部输入的数据配置信息,对所述目标功能模块的数据输入节点的数量、类型和名称,数据输出节点的数量、类型和名称,以及参数节点、状态节点和输入数据响应函数进行配置,并根据数据配置结果对所述数据展示图标进行刷新,使所述数据展示图标上包括有分别对应于每一个所述数据输入节点的数据输入节点标识、分别对应于每一个所述数据输出节点的数据输出节点标识、对应于所述参数节点的参数节点标识、以及对应于所述状态节点的状态节点标识、连接状态标识和运行状态标识,以及当外部触发所述模块选择单元展示的所述信号展示图标后,根据外部输入的信号配置信息,对所述目标功能模块的信号输入节点的数量、类型及名称,信号输出节点的数量、类型及名称,以及输入信号响应函数进行配置,并根据信号配置结果对所述信号展示图标进行刷新,使所述信号展示图标上包括有分别对应于每一个所述信号输入节点的信号输入节点标识,以及对应于每一个所述信号输出节点的信号输出节点标识,并将进行数据配置和信号配置后的所述目标功能模块确定为相对应的所述产品功能模块。
可选地,所述构架图生成单元包括:数据节点连接子单元、信号节点连接子单元和图形整合子单元;
所述数据节点连接子单元,用于针对每一个所述产品功能模块,根据外部输入的数据传输路径,将所述产品功能模块对应的当前数据展示图标上的各个所述数据输入节点标识与其他所述数据展示图标上的所述数据输出节点标识相连接,并将所述当前数据展示图标上的各个所述数据输出节点标识与其他所述数据展示图标上的所述数据输入节点标识相连接;
所述信号节点连接子单元,用于针对每一个所述产品功能模块,根据外部输入的信号传输路径,将所述产品功能模块对应的当前信号展示图标上的各个所述信号输入节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接,并将所述当前信号展示图标上的各个所述信号输出节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接;
所述图形整合子单元,用于将所述数据节点连接子单元获得的各个所述产品功能模块对应的各个所述数据展示图标之间的连接图,以及信号节点连接子单元获得的各个所述产品功能模块对应的各个所述信号展示图标之间的连接图确定为所述机器视觉***构架图。
可选地,所述模块配置单元,进一步用于针对每一个所述产品功能模块,根据所述产品功能模块对数据进行处理过程中各个数据处理步骤所需的时间,对各个所述数据处理步骤进行分组,获得至少两个数据处理步骤分组,其中,不同所述数据处理步骤分组中各个所述数据处理步骤所需时间的和值之差小于预先设定的时长阈值,以及针对每一个所述产品功能模块,分别为相对应的每一个所述数据处理步骤分组分配数额相等的计算资源,以对各个数据处理步骤分组所包括的各个所述数据处理步骤进行并行处理,并对各个所述数据处理步骤分组输出的数据进行异步合并处理。
可选地,所述模块配置单元,进一步用于为各个所述产品功能模块设置相对应的Lambda表达式,其中,所述Lambda表达式包括库名称、函数名称以及软件代码行数信息,所述Lambda表达式用于监测所述产品功能模块运行过程中出现的异常状况,以及确定所述产品功能模块的软件代码中出现异常状况的异常位置,并将所述异常位置记录到日志文件中。
本发明实施例提供的机器视觉***开发方法及装置,由于预先创建的功能模块包括有实现其所对应功能的基本代码,因此通过对功能模块进行简单地配置便可以获得实现待开发机器视觉***中相应功能的产品功能模块,又由于不同功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点,因此通过机器视觉***构架图便可以定义不同产品功能模块之间进行数据和信号交互的路径,从而根据机器视觉***构架图对各个产品功能模块的软件代码进行整合便可以获得待开发机器视觉***的软件代码,完成机器视觉***的开发,在开发机器视觉***过程中用户仅需配置功能模块并将各个产品功能模块相连接,无需针对待开发机器视觉***的每一个功能完全重新编写程序代码,从而可以提高对机器视觉***进行开发的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种机器视觉***开发方法的流程图;
图2是本发明一个实施例提供的一种数据展示图标的示意图;
图3是本发明一个实施例提供的一种信号展示图标的示意图;
图4是本发明一个实施例提供的一种数据展示图标与信号展示图标连接形式的示意图;
图5是本发明一个实施例提供的另一种机器视觉***开发方法的流程图;
图6是本发明一个实施例提供的一种机器视觉***开发装置所在设备的示意图;
图7是本发明一个实施例提供的一种机器视觉***开发装置的示意图;
图8是本发明一个实施例提供的另一种机器视觉***开发装置的示意图;
图9是本发明一个实施例提供的又一种机器视觉***开发装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种机器视觉***开发方法,该方法可以包括以下步骤:
步骤101:预先创建至少一个功能模块,其中,每一个功能模块对应于机器视觉***的一个功能且包括有实现功能的基础软件代码,并且不同功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点;
步骤102:针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从至少一个功能模块中获取相对应的目标功能模块;
步骤103:针对每一个目标功能模块,根据外部的触发对目标功能模块进行配置,获得相对应的产品功能模块;
步骤104:根据待开发机器视觉***中各个目标功能之间数据和信号的传输路径,将各个产品功能模块相连接,获得机器视觉***构架图;
步骤105:根据机器视觉***构架图,对各个产品功能模块的软件代码进行整合,获得待开发机器视觉***。
本发明实施例提供了一种机器视觉***开发方法,由于预先创建的功能模块包括有实现其所对应功能的基本代码,因此通过对功能模块进行简单地配置便可以获得实现待开发机器视觉***中相应功能的产品功能模块,又由于不同功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点,因此通过机器视觉***构架图便可以定义不同产品功能模块之间进行数据和信号交互的路径,从而根据机器视觉***构架图对各个产品功能模块的软件代码进行整合便可以获得待开发机器视觉***的软件代码,完成机器视觉***的开发,在开发机器视觉***过程中用户仅需配置功能模块并将各个产品功能模块相连接,无需针对待开发机器视觉***的每一个功能完全重新编写程序代码,从而可以提高对机器视觉***进行开发的效率。
在本发明实施例中,机器视觉***的功能包括两个类型,其中,第一类功能对应于相应的硬件,比如控制卡、IO卡、相机、光源、PLC等硬件设备所对应的功能,第二类功能没有相对应的硬件,比如数据库、通讯、界面、图像处理、算法等软件程序对应的功能。
相应地,功能模块包括有相机采集模块、IO卡模块、运动控制卡模块、光源模块、数据交互模块、数据库模块、通讯模块、用户界面模块、图像处理模块、图像定位及匹配模块、图像识别模块、图像测量模块、缺陷检测模块等几大类。上述相机采集模块、IO卡模块等各个模块均是指一类功能模块,而每一类功能模块均包括有一个或多个基类,每一个基类包括有一个或多个具体的功能模块,下面分别对上述各类功能模块进行说明:
(1)相机采集模块包括有采集控制基类、相机信息基类、采集信息基类和图像信息基类,各个基类下包括有Basler-USB功能模块、HIK-USB功能模块、Silicon-CL功能模块、Basler-GigE功能模块、HIK-GigE功能模块等;
(2)IO模块包括有IO卡基类,IO卡基类下包括有研华IO功能模块、凌华IO功能模块等;
(3)运动控制卡模块包括有控制卡基类,控制卡基类下包括有研华控制卡功能模块、凌华控制卡功能模块等;
(4)光源模块包括有光源基类,光源基类下包括有光源功能模块、激光控制功能模块等;
(5)数据交互模块包括有数据基类,数据基类下包括有数据合并功能模块、数据拆分功能模块、数据拼接功能模块、数据转换功能模块、序列化功能模块、反序列化功能模块、Xml存储功能模块、配置文件读取功能模块、配置文件存储功能模块、Xml读取功能模块、图像读取功能模块、图像存储功能模块等;
(6)数据库模块包括有数据库基类,数据库基类下包括有Oracle功能模块、SqlServer功能模块、MySQL功能模块、Sqlite功能模块、Excel功能模块等;
(7)通讯模块包括有通讯基类,通讯基类下包括有Socket功能模块、HTTP功能模块等;
(8)用户界面模块包括有界面基类,界面基类下包括有Button功能模块、Label功能模块、Edit功能模块、进度条功能模块、数据显示功能模块、参数显示功能模块、IO显示功能模块、组合框功能模块、单选框功能模块、复选框功能模块、滚动条功能模块等;
(9)图像处理模块包括处理基类,处理基类下包括有图像存取功能模块、图像滤波功能模块、图像转换功能模块、区域选取功能模块、点云处理功能模块、轮廓线功能模块、数组功能模块、图像分割功能模块、类型转换功能模块等;
(10)图像定位及匹配模块包括有定位基类,定位基类下包括有模板选取功能模块、模板匹配功能模块、模板转换功能模块、定位功能模块、相机标定功能模块、三维定位功能模块、激光标定功能模块等;
(11)图像识别模块包括有识别基类,识别基类下包括有特征选取功能模块、训练功能模块、识别功能模块、神经网络功能模块、深度学习功能模块、SVM功能模块、决策树功能模块等;
(12)图像测量功能模块包括有测量基类,测量基类下包括有几何拟合功能模块、二维测量功能模块、三维测量功能模块、表面测量功能模块、形状测量功能模块、几何转换功能模块、变换功能模块等;
(13)缺陷检测模块包括有检测基类,检测基类下包括有模板功能模块、定位功能模块、运算功能模块、量度设置功能模块、缺陷种类功能模块、缺陷检测功能模块、结果输出功能模块等。
可选地,在图1所示机器视觉***开发方法的基础上,在步骤103对各个目标功能模块进行配置获得相对应的产品功能模块之后,可以根据待开发机器视觉***对人机交互的需求,生成相对应的用户界面,具体过程可以通过如下步骤实现:
A1:根据待开发机器视觉***对人机交互的需求,从各个产品功能模块中确定具有人机交互需求的第一产品功能模块;
A2:针对每一个第一产品功能模块,判断该第一产品功能模块是否具有人机交互界面展示功能,如果是,执行A3,否则执行A4;
A3:获得该第一产品功能模块的第一人机交互界面展示框,并执行A5;
A4:获取预先创建的展示功能模块与该第一产品功能模块相连接,根据外部对该展示功能模块的配置获得该展示功能模块的第二人机交互界面展示框;
A5:创建包括有各个第一产品功能模块所对应第一人机交互界面展示框和第二人机交互界面展示框的用户界面。
不同机器视觉***所包括的产品功能模块各不相同,根据机器视觉***的应场景不同,用户可能需要与部分产品功能模块进行人机交互,即用户向产品功能模块输入数据或发出指令,产品功能模块向用户展示相应的数据或信息。为了方便用户与各产品功能模块之间进行人机相互,需要创建用于人机交互的用户界面。
在预先创建功能模块时,根据机器视觉***中相应功能的常见使用方式,所创建的部分功能模块具有人机交互展示功能,还有部分功能模块没有人机交互展示功能,比如,图像转换功能模块具有人机交互展示功能,可以展示转换后的图像,并可以根据用户的触发改变转换后图像的尺寸,而Oracle功能模块没有人机交互展示功能。针对每一个功能模块,如果该功能模块具有人机交互展示功能,通过对该功能模块进行配置而获得的产品功能模块也具有人机交互展示功能,而如果该功能模块没有人机交互展示功能,通过对该功能模块进行配置而获得的产品功能模块也没有人机交互展示功能。
由于并不是所有的产品功能模块均需要与用户进行人机交互,因此用户可以按照实际需求从待开发机器视觉***所包括的各个产品功能模块中选择需要进行人机交互的第一产品功能模块。针对每一个第一产品功能模块,如果该第一产品功能模块具有人机交互展示功能,则根据用户对该产品功能模块进行的配置,获取该产品功能模块的第一人机交互界面展示框,其中第一人机交互界面展示框可以包括按钮、表格、进度条、组合框、单选框、复选框、滚动条等,如果该第一产品功能模块没有人机交互展示功能,则需要根据用户的触发从预先创建的展示功能模块中选择相对应的展示功能模块与该第一产品功能模块相连接,并根据用户的所获取展示功能模块的配置,获得所获取展示模块的第二人机交互界面展示框。最终创建包括有每一个第一产品功能模块所对应第一人机交互界面展示框或第二人机交互界面展示框的用户界面。
在用户界面创建完成后,用户可以对用户界面上各个第一人机交互界面展示框和第二人机交互界面展示框的位置、大小进行调整。通过用户界面,用户可以查看相应产品功能模块输出的数据或信息,还可以向相应的产品功能模块发送指令,使产品功能模块按照指令进行工作。
首先,根据用户的需求,可以在用户界面中添加每一个产品功能模块所对应的人机交互界面展示框,如果该产品功能模块具有人机交互展示功能,则直接将该产品功能模块的第一人机交互界面展示框添加到用户界面中,如果该产品功能模块没有人机交互展示功能,则将该产品功能模块与一个展示功能模块相连接,将展示功能模块的第二人机交互界面展示框添加到用户界面中用于实现该产品功能模块的人机交互,从而用户可以根据需求灵活定义用户界面中所包括的人机交互展示框,满足不同用户的个性化需求,提升了用户的使用体验。
其次,用户在完成对目标功能模块的配置获得产品功能模块,且将展示功能模块与没有人机交互展示功能的产品功能模块相连接并配置后,可以自动创建包括有各个第一产品功能模块所对应第一人机交互界面展示框或第二人机交互界面展示框的用户界面。在对机器视觉***进行开发的同时自动生成用户界面,无需单独开发用户界面,进一步提高了对机器视觉***进行开发的效率。
可选地,在图1所示机器视觉***开发方法的基础上,在根据用户的触发从预先创建的各个功能模块中获取到一个目标功能模块后,可以以数据展示图标或信号展示图标的形式对该目标功能模块进行展示,其中,根据用户的触发可以对所展示的数据展示图标和信号展示图标进行切换。
例如,用户在从各个功能模块中选择图像转换功能模块为一个目标功能模块时,以图2所示的数据展示图标或图3所示的信号展示图标对该图像转换功能模块进行展示。如果当前所展示的是图2所示的数据展示图标,当用户触发图2中data字样后,会切换至展示图3所示的信号展示图标;如果当前所展示的是图3所示的信号展示图标,当用户触发图3中signal字样后,会切换至展示图2所示的数据展示图标。
相应地,针对每一个目标功能模块,用户通过触发该目标功能模块对应的数据展示图标,可以对该目标功能模块的数据输入节点的数量、类型和名称,数据输出节点的数量、类型和名称,以及参数节点和状态节点进行配置,在用户配置完成后通过对所展示的数据展示图标进行刷新,可以使数据展示图标上包括有分分别对应于每一个数据输入节点的数据输入节点标识、分别对应于每一个数据输出节点的数据输出节点标识、对应于参数节点的参数节点标识、以及对应于状态节点的状态节点标识、连接状态标识和运行状态标识。
例如,如图2所示,用户在对图像转换功能模块的数据输入节点的数量、类型和名称,数据输出节点的数量、类型和名称,以及参数节点、状态节点和输入数据响应函数进行配置后,图像转换功能模块所对应数据展示图标上包括有功能模块名称Convert、数据切换标识data、数据输入节点标识201、数据输出节点标识202、参数节点标识203、状态节点标识204、连接状态标识205和运行状态标识206。
配置目标功能模块的参数节点,可以对该目标功能模块的一些功能进行设置,比如对相机功能模块的曝光时间、快门速度、白平衡等配置。设置目标功能模块的状态节点,可以显示所获得产品功能模块的当前运行状态、连接状态、待机状态等。参数节点和状态节点有继承自功能模块的基类,也有用户自行添加的。即,功能模块提供了一些参数节点和状态节点的备选项目,用户可以根据需求修改这些备选项目的参数,另外对于功能模块没有提供的项目,用户可以自行添加相应的程序代码,对相应的项目进行配置。
相应地,针对每一个目标功能模块,用户通过触发该目标功能模块对应的信号展示图标,可以对该目标功能模块的信号输入节点的数量、类型及名称,信号输出节点的数量、类型及名称,以及输入信号响应函数进行配置,在用户配置完成后通过对所展示的信号展示图标进行刷新,可以使信号展示图标上包括有分别对应于每一个信号输入节点的信号输入节点标识,以及分别对应于每一个信号输出节点的信号输出节点标识。
例如,如图3所示,用户在对图像转功能模块的信号输入节点的数量、类型及名称,信号输出节点的数量、类型及名称,以及输入信号响应函数进行配置后,图像转换功能模块所对应信号展示图标上包括有功能模块名称Convert、信号切换标识signal、4个信号输入节点标识301和4个信号输出节点标识302。
针对每一个目标功能模块,用户在通过数据展示图标和信号展示图标对该目标功能模块完成数据配置和信号配置后,该目标功能模块已经具有对数据和信号进行处理的能力,成为相对应的产品功能模块。
输入数据响应函数和输入信号响应函数是产品功能模块的核心部分,输入数据响应函数为产品功能模块对输入数据进行处理的逻辑,输入信号响应函数为产品功能模块对输入信号进行处理的逻辑,由于不同机器视觉***所要实现的目的不同,因此需要对具有数据和信号处理需求的产品功能模块进行输入数据响应函数配置和输入信号响应函数配置。
通过数据展示图标和信号展示图标相互切换的方式对目标功能模块进行展示,用户通过数据展示图标和信号展示图标可以方便地对目标功能模块进行配置,以获得相对应的产品功能模块。在获得产品功能模块之后,根据用户的触发仍可以以数据展示图标或信号展示图标对产品功能模块进行展示。通过图形化的方式,以数据展示图标和信号展示图标对目标功能模块进行展示,用户通过触发数据展示图标和信号展示图标可以方便地对目标功能模块的数据和信号进行配置,配置完成后数据展示图标和信号展示图标会展示相应数量的数据输入节点标识、数据输出节点标识、信号输入节点标识、信号输出节点标识、运行状态标识和连接状态标识,使得用户可以确定数据输入输出节点和信号输入输出节点的数量,并可以根据运行状态标识和连接状态标识确定所获得产品功能模块的状态,使得机器视觉***的开发过程更加简明清晰。
可选地,在通过上述实施例完成对目标功能模块的配置,获得相对应的产品功能模块后,便可以根据用户的触发,将各个产品功能模块相连接,获得相对应的机器视觉***构架图,具体过程如下:
针对每一个产品功能模块,根据用户的触发将该产品功能模块所对应数据展示图标上各个数据输入节点标识与其他数据展示图标上的数据输出节点标识相连接,并将该产品功能模块所对应数据展示图标上的各个数据输出节点标识与其他数据展示图标上的数据输入节点标识相连接;
针对每一个产品功能模块,根据用户的触发将该产品功能模块所对应信号展示图标上各个信号输入节点标识与其他信号展示图标上的信号输出节点标识相连接,并将该产品功能模块所对应信号展示图标上的各个信号输出节点标识与其他信号展示图标上的信号输入节点标识相连接;
将各个产品功能模块对应的各个数据展示图标之间的连接图,以及各个产品功能模块对应的各个信号展示图标之间的连接图确定为机器视觉***构架图。
具体地,根据待开发机器视觉***中数据的传输路径,用户可以通过画线的方式将一个产品功能模块所对应数据展示图标上的数据输出节点标识与另一个产品功能模块所对应数据展示图标上的数据输入节点标识相连接,采用相同的方式,用户通过画线的方式将所有产品功能模块所对应数据展示图标上的数据输出节点标识和数据输入节点标识相连接,完成数据构架图的创建。用户通过画线方式连接数据输出节点标识和数据输入节点标识的过程,在本质上是指定不同产品功能模块之间数据传输的路径。
例如,如图4所示,用户将产品功能模块ImageRead和产品功能模块ShowData均切换至数据展示图标后,用户通过画线的方式将产品功能模块ImageRead上的一个数据输出节点标识202与产品功能模块ShowData上的一个数据输入节点标识201相连接。
同理,根据待开发机器视觉***中信号的传输路径,用户可以通过画线的方式将一个产品功能模块所对应信号展示图标上的信号输出节点标识与另一个产品功能模块所对应信号展示图标上的信号输入节点标识相连接,采用相同的方式,用户通过画线的方式将所有产品功能模块所对应信号展示图标上的信号输出节点标识与信号输入节点标识相连接,完成信号构架图的创建。用户通过画线方式连接信号输出节点标识和信号输入节点标识的过程,在本质上是指定不同产品功能模块之间信号传输的路径。
产品功能模块对应的数据展示图标和信号展示图标上包括有该产品功能模块的数据输入节点标识、数据输出节点标识、信号输入节点标识和信号输出节点标识,用户根据待开发机器视觉***中各个功能之间数据和信号的传输路径,通过画线的方式连接不同数据展示图标上的数据输入节点标识和数据输出节点标识,并通过画线的方式连接不同信号展示图标上的信号输入节点标识和信号输出节点标识,便可以方便地定义不同产品功能模块之间进行数据和信号交互的路径。由于画线连接不同节点标识的方法简单便捷,且不容易出现错误,在方便用户开发机器视觉***的同时,可以降低所开发机器视觉***的错误出现的概率。
需要说明的是,在对目标功能模块进行配置获得产品功能模块的过程中,配置了数据输入节点和数据输出节点的类型,当用户通过画线方式将一个数据输出节点标识与一个数据输入节点标识相连接时,会检查被连接数据输出节点标识所对应数据输出节点的类型与被连接数据输入节点标识所对应数据输入节点的类型是否相同,如果是,则允许连接,否则不允许连接。相似地,用户通过画线方式连接信号输出节点标识和信号输入节点标识时,也会对信号输出节点和信号输入节点的类型进行检查。
在连接数据输出节点标识和数据输入节点标识,以及在连接信号输出节点标识和信号输入节点标识时,检查被连接两个节点标识所对应节点的类型是否相同,仅有具有相同类型的节点才允许连接,保证所开发机器视觉***中数据和信号传输的正确性。
可选地,在图1所示机器视觉***开发方法的基础上,可以预先创建一个或多个功能模块组,每一个功能模块组包括有至少两个按照数据和信号传输路径相连接的功能模块。相应地,在步骤102获取目标功能模块时,用户可以从各个功能模块组中选择一个或多个目标功能模块组,将所选择的每一个目标功能模块组作为一个目标功能模块。其中,每一个功能模块组包括的各个功能模块与待开发机器视觉***中相应数量的目标功能相对应,且目标功能模块组包括的各个功能模块之间的连接关系与待开发机器视觉***中相应的各个目标功能之间进行数据和信号传输路径相对应。在选择一个或多个目标功能模块组作为目标功能模块后,针对待开机器视觉***所包括的且在各个目标功能模块组中没有相对应功能模块的每一个目标功能,由用户从各个功能模块中选择相对应的目标功能模块。
例如,预先创建有10个功能模块组,其中功能模块组1中包括有功能模块1、功能模块2和功能模块3,且功能模块1、功能模块2和功能模块3已经按照一定的数据和信号传输路径相连接。待开发机器视觉***包括有8个目标功能,其中,目标功能1对应于的功能模块为功能模块1,目标功能2对应的功能模块为功能模块2,目标功能3对应的功能模块为功能模块3,而且目标功能1、目标功能2和目标功能3之间进行数据和信号传输的路径与能模块组1中功能模块1、功能模块2和功能模块3的连接关系相对应。此时,用户可以选择功能模块组1作为一个目标功能模块,该目标功能模块对应于待开发机器视觉***中的目标功能1、目标功能2和目标功能3,之后用户在选择目标功能4至目标功能10各自对应的目标功能模块。
功能模块组包括有多个功能模块,且所包括各个功能模块已经按照数据和信号的传输路径相连接,当待开发机器视觉***中存在多个目标功能与一个功能模块组中各个功能模块相对应时,则可以获取该功能模块组作为一个目标功能模块与这多个目标功能相对应,之后用户仅需对该功能模块组中的各个功能模块进行配置,无需再对该功能模块组中各个功能模块进行连接,节省了创建机器视觉***构架图过程中用户进行画线连接的次数,进一步提高了机器视觉***开发的效率。
可选地,在上述各个实施例所提供机器视觉***开发方法的基础上,步骤103获得产品功能模块之后,还可以分别对每一个产品功能模块的数据处理方式进行配置,具体配置方式如下:
针对每一个产品功能模块,根据该产品功能模块对数据进行处理过程中各个数据处理步骤所需的时间,将各个数据处理步骤划分为至少两个数据处理步骤分组,其中,每一个数据处理步骤分组中包括有至少一个数据处理步骤,且任意两个数据处理步骤分组中各个数据处理步骤所需时间的和值之差小于预先设定的时长阈值;
针对每一个产品功能模块,在完成对该产品功能模块的各个数据处理步骤进行分组后,分别为每一个数据处理步骤分组分配数额相等的计算资源,以使该产品功能模块可以对各个数据处理步骤分组包括的各个数据处理步骤进行并行处理,并对各个数据处理步骤分组输出的数据进行异步合并处理。
针对获取到的每一个产品功能模块,该产品功能模块对数据进行处理通常需要多个步骤,而执行每一个步骤所需的时间是不同的。按照传统的数据处理方法,产品功能模块需要按照各个步骤的执行顺序,依次对各个步骤进行执行,这样数据处理过程会卡在耗时较长的步骤处,导致产品功能模块对数据进行处理的速率较慢。在本发明实施例中,将各个数据处理步骤进行分组获得多个数据处理步骤分组,各个数据处理步骤分组中数据处理步骤所需时间之和大体相同,然后为各个数据处理步骤分组分配数额相等的计算资源。在每一个数据处理步骤分组内,各个数据处理步骤并行执行,最后再异步合并各个数据处理步骤分组处理完成的数据处理结果。由于采用异步处理与并行处理相结合的数据处理机制,产品功能模块内各个数据处理步骤无需排队等候,可以提升对数据进行处理的效率。
具体地,根据产品功能模块中各个数据处理步骤对数据进行处理所需的时间,划分出至少两个数据处理步骤分组,每个数据处理步骤分组中包括有至少一个数据处理步骤,而且不同数据处理步骤分组中各个数据处理步骤对数据进行处理的时间之和大体相同,之后,将每一个数据处理步骤分组中输入数据压入管道中并行处理,在管道的出口处异步处理每一个数据处理步骤分组的数据,最后再异步合并处理结果。
例如,产品功能模块1中有3个数据处理步骤,3个数据处理步骤依次为数据处理步骤1、数据处理步骤2和数据处理步骤3,其中数据处理步骤1对数据进行处理所需的时间为1s,数据处理步骤2和数据处理步骤3所需的时间均为0.5s,则将数据处理步骤1作为数据处理步骤分组1,将数据处理步骤2和数据处理步骤3作为数据处理步骤分组2,为数据处理步骤分组1和数据处理步骤分组2均分配10个线程的计算资源。当数据处理步骤1完成对数据A的处理后,开始对数据B进行处理,此时数据处理步骤2和数据处理步骤3依次经过数据处理步骤1处理的数据A进行处理,待数据处理步骤2和数据处理步骤3完成对数据A的相关处理后,数据处理步骤1已经完成了对数据B的处理,数据处理步骤2和数据处理步骤3开始对数据B进行相关处理,从而保证了数据处理的连续性。
可选地,在上述各个实施例所提供机器视觉***开发方法的基础上,步骤103获得产品功能模块之后,可以为各个产品功能模块设置相对应的Lambda表达式,其中,Lambda表达式包括库名称、函数名称以及软件代码行数信息,Lambda表达式用于监测各个产品功能模块运行过程中出现的异常状况,以及确定产品功能模块的软件代码中出现异常状况的异常位置,并将异常位置记录到日志文件中。
通过为各个产品功能模块设置统一的Lambda表达式,在产品功能模块运行的过程中,Lambda表达式可以监测该产品功能模块运行过程中出现的异常状况,当Lambda表达式检测到相应产品功能模块出现异常状况后,Lambda表达式可以定位异常状态所在的库名称、函数名称以及行数,并可以将定位出的库名称、函数名称以及行数记录到日志文件中,这样当产品功能模块出现异常状况后,用户通过查看日志文件便可以快速找到导致异常状况的位置,方便用户对机器视觉***出现的异常状况进行快速定位和处理。
下面以待开发机器视觉***包括7个目标功能为例,对本发明实施例提供的机器视觉***开发方法作进一步详细说明,如图5所示,该方法可以包括以下步骤:
步骤501:确定待开发机器视觉***包括的目标功能。
在本发明实施例中,在需要开发一个机器视觉***时,首先确定该待开发机器视觉***包括的目标功能。
例如,待开发机器视觉***的目标功能包括:IO功能、运动控制功能、相机功能、参数控制功能、图像处理功能、序列化存储功能和控制功能。
步骤502:分别确定每一个目标功能对应的目标功能模块。
在本发明实施例中,预先创建中多个功能模块,针对确定出的每一个目标功能,从预先创建的各个功能模块中选择相对应的目标功能模块。用户获取目标功能模块的过程,针对每一个目标功能,用户可以通过拖拽的方式将相对应的目标功能模块拖拽至工作区域,以在工作区域对目标功能模块的数据展示图标或信息展示图标进行展示。
例如,针对IO功能获取凌华IO功能模块,针对运动控制功能获取凌华控制卡功能模块,针对相机功能获取Basler-USB功能模块,参数控制功能选取A参数控制功能模块,图像处理功能选取图像转换功能模块,序列化存储功能选取B序列化存储功能模块,控制功能选取C控制功能模块。
步骤503:分别对各个目标功能模块进行配置,获得相对应的产品功能模块。
在本发明实施例中,针对每一个目标功能模块,用户分别对该目标功能模块的信号输入节点、信号输出节点、数据输入节点、数据输出节点的名称、数量和类型进行配置,以及对该目标功能模块的参数和状态进行配置,以及对该目标功能模块的输入数据响应函数和输入信号响应函数进行配置。
例如,运动控制卡功能模块可设置多轴中的某一个轴,可以在x,y,z三个方向上平移和旋转,然后将各种位置信息发送给相机功能模块进行图像采集,相机功能模块可设置ROI参数,曝光参数,触发方式等。相机功能模块采集到的图像可以用于显示,或者输入给图像处理功能模块进行后续的图像处理,缺陷检测,尺寸测量等。图像处理模块经过一系列操作如图像滤波,图像增强,图像分割,模板匹配,定位,缺陷检测,测量后,可以将结果输出显示,也可以根据结果输出给凌华IO功能模块或其他控制功能模块,对结果进行分拣,剔除等操作。结果也可以和序列化存盘以供后续使用。
在对凌华IO功能模块进行配置后获得凌华IO产品功能模块,在对凌华控制卡功能模块进行配置后获得凌华控制卡产品功能模块,在对Basler-USB功能模块进行配置后获得Basler-USB产品功能模块,在对A参数控制功能模块进行配置后获得A参数控制产品功能模块,在对图像转换功能模块进行配置后获得图像转换产品功能模块,在对B序列化存储功能模块进行配置后获得B序列化存储产品功能模块,在对C控制功能模块进行配置后获得C控制产品功能模块。
步骤504:为各个产品功能模块设置统一的Lambda表达式。
在本发明实施例中,在获得各个产品功能模块后,为各个产品功能模块设置统一的Lambda表达式,其中,Lambda表达式包括库名称、函数名称以及软件代码行数信息,以在各个产品功能模块运行中记录异常发送的具***置。
步骤505:对各个产品功能模块进行连接,获得机器视觉***构架图。
在本发明实施例中,根据待开发机器视觉***的工作逻辑,用户可以确定待开发机器视觉***中数据和信号的传输路径,即各个产品功能模块之间数据和信号的交互关系,进而根据数据和信号的传输路径可以将各个产品功能模块相连接,形成机器视觉***构架图。具体地,通过数据展示图标对各个产品功能模块进行展示后,用户通过画线的方式将不同数据展示图标上的数据输出节点标识与数据输入节点标识相连接;之后,通过信号展示图标的对各个产品功能模块进行展示后,用户通过画线的方式将不同信号展示图标上的信号输出节点标识与信号输入节点标识相连接。在连接完成后,将相互连接的各个数据展示图标和相互连接的各个信号展示图标作为机器视觉***构架图。
例如,将凌华IO产品功能模块的信号输出节点标识与Basler-USB产品功能模块的信号输入节点标识相连接,将凌华控制卡产品功能模块的信号输出节点标识与Basler-USB产品功能模块的另一个信号输入节点标识相连接,将Basler-USB产品功能模块的两个数据输出节点标识分别与图像转换产品功能模块上的一个数据输入节点标识和B序列化存储产品功能模块上的一个数据输入节点标识相连接,将图像转换产品功能模块上的一个数据输出节点标识与B序列化存储产品功能模块上的另一个数据输入节点标识相连接,将图像转换产品功能模块上的一个信号输出节点标识与C控制产品功能模块上的一个信号输入节点标识相连接。在连接完成后,将数据节点和信号节点相连接的各个产品功能模块作为机器视觉***构架图。
步骤506:为具有人机交互需求的产品功能模块连接展示功能模块,并进行配置。
在本发明实施例中,针对各个产品功能模块中具有人机交互需求,但不具有人机交互脚面展示功能的产品功能模块连接相对应的展示功能模块,并对展示功能模块进行配置,以通过展示功能模块展示相连接产品功能模块的人机交互展示界面框。
例如,为Basler-USB产品功能模块连接展示功能模块1,为图像转换产品功能模块连接展示功能模块2,并分别对展示功能模块1和展示功能模块2进行配置,使展示功能模块1可以展示相机所拍摄到的图片,并使展示功能模块2可以展示经过图像转换产品功能模块转换后的图片。通过配置展示功能模块1的参数,可以在相对应的人机交互展示界面框中展示不同的信息。
步骤507:根据各个产品功能模块和所配置的各个展示功能模块,创建用户界面。
在本发明实施例中,根据各个产品功能模块中具有人机交互展示功能的产品功能模块,获取这些产品功能模块的第一人机交互界面展示框,并获取用户配置的每一个展示功能模块的第二人机交互界面展示框,之后创建包括有各个第一人机交互界面展示框和各个第二人机交互界面展示框的用户界面。
例如,创建包括有展示功能模块1所对应第二人机交互界面展示框1和展示功能模块2所对应第二人机交互界面展示框2的用户界面。
步骤508:根据机器视觉***构架图以及用户界面,对各个产品功能模块、展示功能模块的软件代码进行整合,获得待开发机器视觉***的软件程序。
在本发明实施例中,功能模块包括有实现其功能的基本软件代码,产品功能模块通过对功能模块进行配置而获得,因此,在功能模块的基本软件代码中嵌入相应的配置信息,便可以获得产品功能模块的软件代码,相应地也可以获取每一个展示功能模块的软件代码。之后根据机器视觉***构架图中各个产品功能模块和展示功能模块之间的连接关系,对各个产品功能模块和展示功能模块的软件代码进行整合,便可以获得待开发机器视觉***的软件程序。
步骤509:对获取到的软件程序和用户界面进行存储,完成机器视觉***的开发。
在本发明实施例中,在获得机器视觉***的软件程序和相对应的用户界面后,分别将软件程序和用户界面打包并进行存储,并建立用户界面与软件程序之间的关联关系。当用户触发用户界面后,软件程序便可以进行相应的运算,完成机器视觉***的功能。
如图6、图7所示,本发明实施例提供了一种机器视觉***开发装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图6所示,为本发明实施例提供的机器视觉***开发装置所在设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图7所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的机器视觉***开发装置,包括:模块创建单元701、模块选择单元702、模块配置单元703、构架图生成单元704和代码整合单元705;
模块创建单元701,用于预先创建至少一个功能模块,其中,每一个功能模块对应于机器视觉***的一个功能且包括有实现功能的基础软件代码,并且不同功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点;
模块选择单元702,用于针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从模块创建单元701创建的至少一个功能模块中获取相对应的目标功能模块;
模块配置单元703,用于针对模块选择单元702获取到的每一个目标功能模块,根据外部的触发对目标功能模块进行配置,获得相对应的产品功能模块;
构架图生成单元704,用于根据待开发机器视觉***中各个目标功能之间数据和信号的传输路径,将模块配置单元703获得的各个产品功能模块相连接,获得机器视觉***构架图;
代码整合单元705,用于根据构架图生成单元704获得的机器视觉***构架图,对各个产品功能模块的软件代码进行整合,获得待开发机器视觉***。
可选地,在图7所示机器视觉***开发装置的基础上,如图8所示,该机器视觉***开发装置进一步包括:用户界面生成单元806;
用户界面生成单元806,用于根据待开发机器视觉***对人机交互的需求,从模块配置单元703获取的各个产品功能模块中确定具有人机交互需求的至少一个第一产品功能模块,以及针对每一个第一产品功能模块,判断第一产品功能模块是否具有人机交互界面展示功能,如果是,确定第一产品功能模块的第一人机交互界面展示框,否则将第一产品功能模块与预先创建的展示功能模块相连接,并根据外部对展示功能模块的配置确定展示功能模块的第二人机交互界面展示框,并创建包括有各个第一人机交互界面展示框和各个第二人机交互界面展示框的用户界面。
可选地,在图7所示机器视觉***开发装置的基础上,在该机器视觉***开发装置中,模块选择单元702,进一步用于以数据展示图标或信号展示图标的形式对目标功能模块进行展示,其中,数据展示图标和信号展示图标根据外部的触发可以相互切换;
相应地,模块配置单元703,用于当外部触发模块选择单元702展示的数据展示图标后,根据外部输入的数据配置信息,对目标功能模块的数据输入节点的数量、类型和名称,数据输出节点的数量、类型和名称,以及参数节点、状态节点和输入数据响应函数进行配置,并根据数据配置结果对数据展示图标进行刷新,使数据展示图标上包括有分别对应于每一个数据输入节点的数据输入节点标识、分别对应于每一个数据输出节点的数据输出节点标识、对应于参数节点的参数节点标识、以及对应于状态节点的状态节点标识、连接状态标识和运行状态标识,以及当外部触发模块选择单元702展示的信号展示图标后,根据外部输入的信号配置信息,对目标功能模块的信号输入节点的数量、类型及名称,信号输出节点的数量、类型及名称,以及输入信号响应函数进行配置,并根据信号配置结果对信号展示图标进行刷新,使信号展示图标上包括有分别对应于每一个信号输入节点的信号输入节点标识,以及对应于每一个信号输出节点的信号输出节点标识,并将进行数据配置和信号配置后的目标功能模块确定为相对应的产品功能模块。
可选地,在图7所示机器视觉***开发装置的基础上,如图9所示,构架图生成单元704可以包括数据节点连接子单元7041、信号节点连接子单元7042和图形整合子单元7043;
数据节点连接子单元7041,用于针对每一个产品功能模块,根据外部输入的数据传输路径,将产品功能模块对应的当前数据展示图标上的各个数据输入节点标识与其他数据展示图标上的数据输出节点标识相连接,并将当前数据展示图标上的各个数据输出节点标识与其他数据展示图标上的数据输入节点标识相连接;
信号节点连接子单元7042,用于针对每一个产品功能模块,根据外部输入的信号传输路径,将产品功能模块对应的当前信号展示图标上的各个信号输入节点标识与其他信号展示图标上的信号输出节点标识相连接,并将当前信号展示图标上的各个信号输出节点标识与其他信号展示图标上的信号输出节点标识相连接;
图形整合子单元7043,用于将数据节点连接子单元7041获得的各个产品功能模块对应的各个数据展示图标之间的连接图,以及信号节点连接子单元7042获得的各个产品功能模块对应的各个信号展示图标之间的连接图确定为机器视觉***构架图。
可选地,在图7至图9任一所示机器视觉***开发装置的基础上,模块配置单元703进一步用于针对每一个产品功能模块,根据产品功能模块对数据进行处理过程中各个数据处理步骤所需的时间,对各个数据处理步骤进行分组,获得至少两个数据处理步骤分组,其中,不同数据处理步骤分组中各个数据处理步骤所需时间的和值之差小于预先设定的时长阈值,以及针对每一个产品功能模块,分别为相对应的每一个数据处理步骤分组分配数额相等的计算资源,以对各个数据处理步骤分组所包括的各个数据处理步骤进行并行处理,并对各个数据处理步骤分组输出的数据进行异步合并处理。
可选地,在图7至图9任一所示机器视觉***开发装置的基础上,模块配置单元703进一步用于为各个产品功能模块设置相对应的Lambda表达式,其中,Lambda表达式包括库名称、函数名称以及软件代码行数信息,Lambda表达式用于监测产品功能模块运行过程中出现的异常状况,以及确定产品功能模块的软件代码中出现异常状况的异常位置,并将异常位置记录到日志文件中。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例提供的机器视觉***开发方法。
本发明实施例还一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例提供的机器视觉***开发方法。
综上所述,本发明各个实施例提供的机器视觉***开发方法及装置,至少具有如下有益效果:
1、在本发明实施例中,由于预先创建的功能模块包括有实现其所对应功能的基本代码,因此通过对功能模块进行简单地配置便可以获得实现待开发机器视觉***中相应功能的产品功能模块,又由于不同功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点,因此通过机器视觉***构架图便可以定义不同产品功能模块之间进行数据和信号交互的路径,从而根据机器视觉***构架图对各个产品功能模块的软件代码进行整合便可以获得待开发机器视觉***的软件代码,完成机器视觉***的开发,在开发机器视觉***过程中用户仅需配置功能模块并将各个产品功能模块相连接,无需针对待开发机器视觉***的每一个功能完全重新编写程序代码,从而可以提高对机器视觉***进行开发的效率。
2、在本发明实施例中,由于预先创建的各个功能模块包括有实现相应功能的基础软件代码,功能模块可以重复利用,仅需要根据待开发机器视觉***的具体功能对功能模块进行相应的配置,并可以获得对应的产品功能模块,减少了重复开发的工作,从而可以提高对机器视觉***进行开发的效率。
3、在本发明实施例中,不同功能对应的功能模块可以由相应技术领域的技术人员进行开发,比如图像处理功能模块可以由图像处理技术领域的技术人员进行开发,数据库相关的功能模块可以由数据库技术领域的技术人员进行开发,在功能模块开发的过程中可以避免不用技术领域的技术交叉,对软件开发人员的技能要求较低。
4、在本发明实施例中,根据实际业务的需求,针对待开发机器视觉***中没有相对应功能模块的功能,在本次开发后该功能所对应的功能模块后,可以将所开发的功能模块存储到功能模块库中,实现对功能模块库的扩充,以后开发机器视觉***中出现该功能时可以直接使用,无需再次开发,从而可以降低机器视觉***开发的工作量。
5、在本发明实施例中,由于功能模块库中包括有多种硬件设备以及软件程序对应的功能模块,通过对不同功能模块进行组合,可以获得多种不同类型机器视觉***的软件程序,适用于图像处理、检测、测量、识别等不同的使用场景,使得该机器视觉***开发具有较强的适用性,适用于各种类型机器视觉***的构建。
6、在本发明实施例中,每一个产品功能模块在对数据进行处理时,采用同步机制、异步机制、并行机制相结合的数据流处理方法,提升了每一个产品功能模块对数据进行处理的速率,从而可以提高机器视觉***对数据进行处理的效率。
7、在本发明实施例中,将经常组合在一起使用的多个功能模块组合在一起形成功能模块组,当所构建机器视觉***所包括功能与功能模块组中的功能模块相对应时,可以直接获取功能模块组,而无需分别获取每一而功能模块,从而可以进一步提升对机器视觉***进行开发的效率。
8、在本发明实施例中,在整体上对各个产品功能模块的运行状态进行监控,当发现功能模块出现异常时在日志中记录异常信息,方便对机器视觉***出现的问题进行及时处理。
9、在本发明实施例中,序列化存储功能模块可以对其他功能模块获取到的数据进行序列化存储,从而使现场工作可以远程解决,从而可以提高机器视觉***工作效率的同时,降低项目的成本。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种机器视觉***开发方法,其特征在于,预先创建至少一个功能模块,其中,每一个所述功能模块对应于机器视觉***的一个功能且包括有实现所述功能的基础软件代码,并且不同所述功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点,还包括:
针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块;
针对每一个所述目标功能模块,根据外部的触发对所述目标功能模块进行配置,获得相对应的产品功能模块;
根据所述待开发机器视觉***中各个所述目标功能之间数据和信号的传输路径,将各个所述产品功能模块相连接,获得机器视觉***构架图;
根据所述机器视觉***构架图,对各个所述产品功能模块的软件代码进行整合,获得所述待开发机器视觉***。
2.根据权利要求1所述的方法,其特征在于,在所述对所述目标功能模块进行配置获得相对应的产品功能模块之后,进一步包括:
根据所述待开发机器视觉***对人机交互的需求,从各个所述产品功能模块中确定具有人机交互需求的至少一个第一产品功能模块;
针对每一个所述第一产品功能模块,判断所述第一产品功能模块是否具有人机交互界面展示功能,如果是,确定所述第一产品功能模块的第一人机交互界面展示框,否则将所述第一产品功能模块与预先创建的展示功能模块相连接,并根据外部对所述展示功能模块的配置确定所述展示功能模块的第二人机交互界面展示框;
创建包括有各个所述第一人机交互界面展示框和各个所述第二人机交互界面展示框的用户界面。
3.根据权利要求1所述的方法,其特征在于,
在所述据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块之后,进一步包括:
以数据展示图标或信号展示图标的形式对所述目标功能模块进行展示,其中,所述数据展示图标和所述信号展示图标根据外部的触发可以相互切换;
所述根据外部的触发对所述目标功能模块进行配置获得相对应的产品功能模块,包括:
当外部触发所述数据展示图标后,根据外部输入的数据配置信息,对所述目标功能模块的数据输入节点的数量、类型和名称,数据输出节点的数量、类型和名称,以及参数节点、状态节点和输入数据响应函数进行配置,并根据数据配置结果对所述数据展示图标进行刷新,使所述数据展示图标上包括有分别对应于每一个所述数据输入节点的数据输入节点标识、分别对应于每一个所述数据输出节点的数据输出节点标识、对应于所述参数节点的参数节点标识、以及对应于所述状态节点的状态节点标识、连接状态标识和运行状态标识;
当外部触发所述信号展示图标后,根据外部输入的信号配置信息,对所述目标功能模块的信号输入节点的数量、类型及名称,信号输出节点的数量、类型及名称,以及输入信号响应函数进行配置,并根据信号配置结果对所述信号展示图标进行刷新,使所述信号展示图标上包括有分别对应于每一个所述信号输入节点的信号输入节点标识,以及对应于每一个所述信号输出节点的信号输出节点标识;
将进行数据配置和信号配置后的所述目标功能模块确定为相对应的所述产品功能模块。
4.根据权利要求3所述的方法,其特征在于,所述将各个所述产品功能模块相连接获得机器视觉***构架图,包括:
针对每一个所述产品功能模块,根据外部输入的数据传输路径,将所述产品功能模块对应的当前数据展示图标上的各个所述数据输入节点标识与其他所述数据展示图标上的所述数据输出节点标识相连接,并将所述当前数据展示图标上的各个所述数据输出节点标识与其他所述数据展示图标上的所述数据输入节点标识相连接;
针对每一个所述产品功能模块,根据外部输入的信号传输路径,将所述产品功能模块对应的当前信号展示图标上的各个所述信号输入节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接,并将所述当前信号展示图标上的各个所述信号输出节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接;
将各个所述产品功能模块对应的各个所述数据展示图标之间的连接图,以及各个所述产品功能模块对应的各个所述信号展示图标之间的连接图确定为所述机器视觉***构架图。
5.根据权利要求1所述的方法,其特征在于,
在所述针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块之前,进一步包括:
创建至少一个功能模块组,其中,每一个所述功能模块组包括有至少两个按照数据和信号的传输路径相连接的所述功能模块;
所述针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述至少一个功能模块中获取相对应的目标功能模块,包括:
根据外部的触发,从所述至少一个功能模块组中获取至少一个目标功能模块组,将每一个所述目标功能模块组作为一个所述目标功能模块,其中,每一个所述目标功能模块组所包括的至少两个所述功能模块与所述待开发机器视觉***中相应数量的所述目标功能相对应,且所述目标功能模块组所包括的至少两个所述功能模块之间的连接关系与所述待开发机器视觉***中相应的至少两个所述目标功能之间进行数据和信号传输的路径相对应;
针对所述待开发机器视觉***包括的,且在任意一个所述目标功能模块组中没有相对应所述功能模块的每一个所述目标功能,根据外部的触发,从所述至少一个功能模块中获取相对一个的目标功能模块。
6.根据权利要求1至5中任一所述的方法,其特征在于,在针对每一个所述目标功能模块,根据外部的触发对所述目标功能模块进行配置,获得相对应的产品功能模块之后,进一步包括:
针对每一个所述产品功能模块,根据所述产品功能模块对数据进行处理过程中各个数据处理步骤所需的时间,对各个所述数据处理步骤进行分组,获得至少两个数据处理步骤分组,其中,不同所述数据处理步骤分组中各个所述数据处理步骤所需时间的和值之差小于预先设定的时长阈值;
针对每一个所述产品功能模块,分别为相对应的每一个所述数据处理步骤分组分配数额相等的计算资源,以对各个数据处理步骤分组所包括的各个所述数据处理步骤进行并行处理,并对各个所述数据处理步骤分组输出的数据进行异步合并处理;
和/或,
为各个所述产品功能模块设置相对应的Lambda表达式,其中,所述Lambda表达式包括库名称、函数名称以及软件代码行数信息,所述Lambda表达式用于监测所述产品功能模块运行过程中出现的异常状况,以及确定所述产品功能模块的软件代码中出现异常状况的异常位置,并将所述异常位置记录到日志文件中。
7.一种机器视觉***开发装置,其特征在于,包括:模块创建单元、模块选择单元、模块配置单元、构架图生成单元和代码整合单元;
所述模块创建单元,用于预先创建至少一个功能模块,其中,每一个所述功能模块对应于机器视觉***的一个功能且包括有实现所述功能的基础软件代码,并且不同所述功能模块之间具有相同规则的信号输入输出节点和数据输入输出节点;
所述模块选择单元,用于针对待开发机器视觉***所包括的每一个目标功能,根据外部的触发从所述模块创建单元创建的所述至少一个功能模块中获取相对应的目标功能模块;
所述模块配置单元,用于针对所述模块选择单元获取到的每一个所述目标功能模块,根据外部的触发对所述目标功能模块进行配置,获得相对应的产品功能模块;
所述构架图生成单元,用于根据所述待开发机器视觉***中各个所述目标功能之间数据和信号的传输路径,将所述模块配置单元获得的各个所述产品功能模块相连接,获得机器视觉***构架图;
所述代码整合单元,用于根据所述构架图生成单元获得的所述机器视觉***构架图,对各个所述产品功能模块的软件代码进行整合,获得所述待开发机器视觉***。
8.根据权利要求7所述的装置,其特征在于,
进一步包括:用户界面生成单元;
所述用户界面生成单元,用于根据所述待开发机器视觉***对人机交互的需求,从所述模块配置单元获取的各个所述产品功能模块中确定具有人机交互需求的至少一个第一产品功能模块,以及针对每一个所述第一产品功能模块,判断所述第一产品功能模块是否具有人机交互界面展示功能,如果是,确定所述第一产品功能模块的第一人机交互界面展示框,否则将所述第一产品功能模块与预先创建的展示功能模块相连接,并根据外部对所述展示功能模块的配置确定所述展示功能模块的第二人机交互界面展示框,并创建包括有各个所述第一人机交互界面展示框和各个所述第二人机交互界面展示框的用户界面;
和/或,
所述模块选择单元,进一步用于以数据展示图标或信号展示图标的形式对所述目标功能模块进行展示,其中,所述数据展示图标和所述信号展示图标根据外部的触发可以相互切换;
所述模块配置单元,用于当外部触发所述模块选择单元展示的所述数据展示图标后,根据外部输入的数据配置信息,对所述目标功能模块的数据输入节点的数量、类型和名称,数据输出节点的数量、类型和名称,以及参数节点、状态节点和输入数据响应函数进行配置,并根据数据配置结果对所述数据展示图标进行刷新,使所述数据展示图标上包括有分别对应于每一个所述数据输入节点的数据输入节点标识、分别对应于每一个所述数据输出节点的数据输出节点标识、对应于所述参数节点的参数节点标识、以及对应于所述状态节点的状态节点标识、连接状态标识和运行状态标识,以及当外部触发所述模块选择单元展示的所述信号展示图标后,根据外部输入的信号配置信息,对所述目标功能模块的信号输入节点的数量、类型及名称,信号输出节点的数量、类型及名称,以及输入信号响应函数进行配置,并根据信号配置结果对所述信号展示图标进行刷新,使所述信号展示图标上包括有分别对应于每一个所述信号输入节点的信号输入节点标识,以及对应于每一个所述信号输出节点的信号输出节点标识,并将进行数据配置和信号配置后的所述目标功能模块确定为相对应的所述产品功能模块。
9.根据权利要求8所述的装置,其特征在于,
所述构架图生成单元包括:数据节点连接子单元、信号节点连接子单元和图形整合子单元;
所述数据节点连接子单元,用于针对每一个所述产品功能模块,根据外部输入的数据传输路径,将所述产品功能模块对应的当前数据展示图标上的各个所述数据输入节点标识与其他所述数据展示图标上的所述数据输出节点标识相连接,并将所述当前数据展示图标上的各个所述数据输出节点标识与其他所述数据展示图标上的所述数据输入节点标识相连接;
所述信号节点连接子单元,用于针对每一个所述产品功能模块,根据外部输入的信号传输路径,将所述产品功能模块对应的当前信号展示图标上的各个所述信号输入节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接,并将所述当前信号展示图标上的各个所述信号输出节点标识与其他所述信号展示图标上的所述信号输出节点标识相连接;
所述图形整合子单元,用于将所述数据节点连接子单元获得的各个所述产品功能模块对应的各个所述数据展示图标之间的连接图,以及信号节点连接子单元获得的各个所述产品功能模块对应的各个所述信号展示图标之间的连接图确定为所述机器视觉***构架图。
10.根据权利要求7至9中任一所述的装置,其特征在于,
所述模块配置单元,进一步用于针对每一个所述产品功能模块,根据所述产品功能模块对数据进行处理过程中各个数据处理步骤所需的时间,对各个所述数据处理步骤进行分组,获得至少两个数据处理步骤分组,其中,不同所述数据处理步骤分组中各个所述数据处理步骤所需时间的和值之差小于预先设定的时长阈值,以及针对每一个所述产品功能模块,分别为相对应的每一个所述数据处理步骤分组分配数额相等的计算资源,以对各个数据处理步骤分组所包括的各个所述数据处理步骤进行并行处理,并对各个所述数据处理步骤分组输出的数据进行异步合并处理;
和/或,
所述模块配置单元,进一步用于为各个所述产品功能模块设置相对应的Lambda表达式,其中,所述Lambda表达式包括库名称、函数名称以及软件代码行数信息,所述Lambda表达式用于监测所述产品功能模块运行过程中出现的异常状况,以及确定所述产品功能模块的软件代码中出现异常状况的异常位置,并将所述异常位置记录到日志文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810377525.5A CN108628597B (zh) | 2018-04-25 | 2018-04-25 | 一种机器视觉***开发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810377525.5A CN108628597B (zh) | 2018-04-25 | 2018-04-25 | 一种机器视觉***开发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628597A true CN108628597A (zh) | 2018-10-09 |
CN108628597B CN108628597B (zh) | 2021-08-06 |
Family
ID=63694466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810377525.5A Active CN108628597B (zh) | 2018-04-25 | 2018-04-25 | 一种机器视觉***开发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628597B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083357A (zh) * | 2019-04-28 | 2019-08-02 | 博众精工科技股份有限公司 | 界面构建方法、装置、服务器及存储介质 |
CN110276110A (zh) * | 2019-06-04 | 2019-09-24 | 华东师范大学 | 一种双目立体视觉***的软硬件协同设计方法 |
CN111706983A (zh) * | 2020-05-21 | 2020-09-25 | 四川虹美智能科技有限公司 | 配置空调的方法及空调 |
WO2020211661A1 (zh) * | 2019-04-15 | 2020-10-22 | 阿里巴巴集团控股有限公司 | 一种采用图形化的开发的方法、介质、设备和装置 |
CN112764899A (zh) * | 2021-01-20 | 2021-05-07 | 深圳橙子自动化有限公司 | 基于应用程序处理视觉任务的方法及装置 |
CN112988316A (zh) * | 2021-05-19 | 2021-06-18 | 北京创源微致软件有限公司 | 基于bs架构的工业视觉***开发方法和存储介质 |
CN113390882A (zh) * | 2021-06-10 | 2021-09-14 | 青岛理工大学 | 一种基于机器视觉和深度学习算法的轮胎内侧缺陷检测仪 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030655A1 (en) * | 2010-07-29 | 2012-02-02 | De Castillo Alejandro | Generating and Modifying Textual Code Interfaces from Graphical Programs |
CN104899042A (zh) * | 2015-06-15 | 2015-09-09 | 江南大学 | 一种嵌入式机器视觉检测程序开发方法及*** |
CN106126666A (zh) * | 2016-06-24 | 2016-11-16 | 浙江远卓科技有限公司 | 一种ArcGIS数据处理工具的开发方法 |
CN106293748A (zh) * | 2016-08-15 | 2017-01-04 | 苏州博众精工科技有限公司 | 一种图形化交互式机器视觉***及其工作方法 |
CN107766045A (zh) * | 2016-08-19 | 2018-03-06 | 康耐视公司 | 为机器视觉***提供可视化程序的装置、***和方法 |
-
2018
- 2018-04-25 CN CN201810377525.5A patent/CN108628597B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030655A1 (en) * | 2010-07-29 | 2012-02-02 | De Castillo Alejandro | Generating and Modifying Textual Code Interfaces from Graphical Programs |
CN104899042A (zh) * | 2015-06-15 | 2015-09-09 | 江南大学 | 一种嵌入式机器视觉检测程序开发方法及*** |
CN106126666A (zh) * | 2016-06-24 | 2016-11-16 | 浙江远卓科技有限公司 | 一种ArcGIS数据处理工具的开发方法 |
CN106293748A (zh) * | 2016-08-15 | 2017-01-04 | 苏州博众精工科技有限公司 | 一种图形化交互式机器视觉***及其工作方法 |
CN107766045A (zh) * | 2016-08-19 | 2018-03-06 | 康耐视公司 | 为机器视觉***提供可视化程序的装置、***和方法 |
Non-Patent Citations (1)
Title |
---|
朱海宽: ""基于机器视觉的图像采集与处理***设计"", 《电子测试》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211661A1 (zh) * | 2019-04-15 | 2020-10-22 | 阿里巴巴集团控股有限公司 | 一种采用图形化的开发的方法、介质、设备和装置 |
CN111831272A (zh) * | 2019-04-15 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种采用图形化的开发的方法、介质、设备和装置 |
CN110083357A (zh) * | 2019-04-28 | 2019-08-02 | 博众精工科技股份有限公司 | 界面构建方法、装置、服务器及存储介质 |
CN110083357B (zh) * | 2019-04-28 | 2023-10-13 | 博众精工科技股份有限公司 | 界面构建方法、装置、服务器及存储介质 |
CN110276110A (zh) * | 2019-06-04 | 2019-09-24 | 华东师范大学 | 一种双目立体视觉***的软硬件协同设计方法 |
CN111706983A (zh) * | 2020-05-21 | 2020-09-25 | 四川虹美智能科技有限公司 | 配置空调的方法及空调 |
CN112764899A (zh) * | 2021-01-20 | 2021-05-07 | 深圳橙子自动化有限公司 | 基于应用程序处理视觉任务的方法及装置 |
CN112988316A (zh) * | 2021-05-19 | 2021-06-18 | 北京创源微致软件有限公司 | 基于bs架构的工业视觉***开发方法和存储介质 |
CN112988316B (zh) * | 2021-05-19 | 2021-10-26 | 北京创源微致软件有限公司 | 基于bs架构的工业视觉***开发方法和存储介质 |
CN113390882A (zh) * | 2021-06-10 | 2021-09-14 | 青岛理工大学 | 一种基于机器视觉和深度学习算法的轮胎内侧缺陷检测仪 |
Also Published As
Publication number | Publication date |
---|---|
CN108628597B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628597A (zh) | 一种机器视觉***开发方法及装置 | |
Nazif et al. | Low level image segmentation: an expert system | |
JP2018200685A (ja) | 完全教師あり学習用のデータセットの形成 | |
CN106507686B (zh) | 设计不同技术领域的复杂信息物理***的具有其各种软件工件的软件架构的方法和*** | |
CN104731696B (zh) | 定位程序代码中bug的方法及相关装置 | |
Borys et al. | Explainable ai in medical imaging: An overview for clinical practitioners–saliency-based xai approaches | |
CN103518183B (zh) | 图形对象分类 | |
CN113282795B (zh) | 数据结构图生成及更新方法、装置、电子设备及存储介质 | |
CN110472082A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
Ghildiyal et al. | Age and gender predictions using artificial intelligence algorithm | |
CN100565395C (zh) | 可重构数字控制器的自治域*** | |
CN108681556A (zh) | 分布式指令域数据的访问方法及其*** | |
CN109215131A (zh) | 虚拟人脸的驱动方法及装置 | |
Skripcak et al. | Toward nonconventional human–machine interfaces for supervisory plant process monitoring | |
Bitzer et al. | Framework of the evolution in virtual product modelling and model management towards digitized engineering | |
CN113901231A (zh) | 一种知识图谱的演进分析方法、装置及介质 | |
CN114270313A (zh) | 一种计算机实现的方法、计算机程序以及物理计算环境 | |
US11853881B2 (en) | Image analysis-based classification and visualization of events | |
CN110313159A (zh) | 通信数据建模方法 | |
CN109470708A (zh) | 塑料泡沫餐盒的质量检测方法、装置、服务器及存储介质 | |
Verleysen et al. | Learning self-supervised task progression metrics: a case of cloth folding | |
CN114707315A (zh) | 一种数字孪生场景下辅助模型的创建方法 | |
CN115035044A (zh) | 一种应用于工业质检的智能ai平台 | |
CN107016044A (zh) | 一种数据可视化处理的方法及装置 | |
CN111598121A (zh) | 一种机柜设备检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |