CN111881045B - 工业相机仿真方法、装置及插件 - Google Patents
工业相机仿真方法、装置及插件 Download PDFInfo
- Publication number
- CN111881045B CN111881045B CN202010738870.4A CN202010738870A CN111881045B CN 111881045 B CN111881045 B CN 111881045B CN 202010738870 A CN202010738870 A CN 202010738870A CN 111881045 B CN111881045 B CN 111881045B
- Authority
- CN
- China
- Prior art keywords
- virtual camera
- file
- model
- plug
- camera
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Studio Devices (AREA)
Abstract
本发明实施例提出工业相机仿真方法、装置及插件。方法包括:将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件;将第一型号下的第一虚拟相机的基本信息添加到第一文件;当接收到虚拟相机发现请求,插件从第一文件中获取所有虚拟相机的基本信息;插件接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;插件接收到针对第一虚拟相机的第一功能参数的访问请求,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。本发明实施例降低了视觉软件开发和测试成本,并提高了视觉软件开发和测试效率。
Description
技术领域
本发明涉及机器视觉技术领域,尤其涉及工业相机仿真方法、装置及插件。
背景技术
视觉软件主流的数据来源都是相机,但受限于上位机的硬件接口配置,需要多种不同类型的相机接入的视觉软件往往无法在工作PC(Personal Computer,个人电脑)上运行。当前有两种选择:
一、配备接口丰富的工控机和数量众多的相机共同作为开发和测试环境,这种方式成本高,且接口扩展不灵活。
二、修改视觉软件的逻辑,通过读取本地图片作为数据源。这种方式与相机完全脱钩,很多相机相关的功能和软件逻辑将不再可用,与视觉软件运行的真实场景差异过大,意义有限。
发明内容
本发明实施例提出工业相机仿真方法、装置及插件,以降低视觉软件开发和测试成本,并提高视觉软件开发和测试效率。
本发明实施例的技术方案是这样实现的:
一种工业相机仿真方法,该方法包括:
创建用于完成虚拟相机访问功能的插件;
创建用于描述虚拟相机的基本信息的第一文件,在所述插件中保存第一文件的存储路径;
将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件,在所述插件中保存第一型号与第二文件的存储路径的对应关系;
将第一型号下的第一虚拟相机的基本信息添加到所述第一文件,所述基本信息包括第一型号和第一虚拟相机的标识信息;
当接收到虚拟相机发现请求,调用所述插件,所述插件根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;所述插件接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;所述插件接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
所述将第一型号下的第一虚拟相机的基本信息添加到所述第一文件包括:
将第一虚拟相机的状态添加到第一文件,其中,第一虚拟相机的状态默认为关闭;
所述插件接收到携带第一虚拟相机标识信息的连接建立请求之后、返回连接建立成功响应之前,进一步包括;
从第一文件中获取第一虚拟相机的状态,判断该状态为关闭还是占用;
且,若该状态为关闭,则返回所述连接建立成功响应,并将第一文件中的第一虚拟相机的状态更改为占用;
且,若该状态为占用,则返回连接建立失败响应。
所述将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件包括:
获取第一型号的真实工业相机的功能参数配置文件,从该配置文件中解析出第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,遍历各功能参数值的寄存器地址,获取各功能参数值,遍历完成后,将第一型号的真实工业相机的所有功能参数值的寄存器地址与功能参数值的对应关系存放到第三文件中;
为第一型号的虚拟相机创建第二文件,第二文件的内容包括:第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,在所述插件中保存第一型号与第三文件的存储路径的对应关系。
所述从第二文件中获取第一虚拟相机的第一功能参数信息包括:
从第二文件中读取第一功能参数名称对应的功能参数值的寄存器地址;根据第一虚拟相机所属的第一型号和第三文件的存储路径的对应关系,查找到第三文件,从第三文件中读取所述功能参数值的寄存器地址对应的第一功能参数值。
所述将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件之后进一步包括:
获取第一型号的虚拟相机采集的图片,在所述插件中记录第一型号与所述图片的存储路径的对应关系;
且,当所述插件接收到针对第一虚拟相机的取图请求时,根据第一虚拟相机所属的第一型号与图片的存储路径的对应关系,查找到对应的图片,返回查找到的图片。
所述获取第一型号的虚拟相机采集的图片包括:
将第一型号的真实工业相机采集的图片作为第一型号的虚拟相机采集的图片;或者,构造与第一型号的真实工业相机的分辨率相同的图片,将构造的图片作为第一型号的虚拟相机采集的图片。
所述接收到虚拟相机发现请求之后、调用所述插件之前,进一步包括:
以所述插件替换第一位置存储的用于实现真实工业相机的软件工具包SDK的应用程序接口API的动态链接库;
所述调用所述插件包括:
从第一位置处调用所述插件;
且,所述方法进一步包括:当所述插件接收到针对第一虚拟相机的连接断开请求时,以第二位置存储的预先复制好的所述动态链接库替换第一位置存储的所述插件。
一种工业相机仿真装置,该装置包括:
插件创建模块,创建一个用于完成虚拟相机访问功能的插件;
虚拟相机创建模块,创建用于描述虚拟相机的基本信息的第一文件,在所述插件中保存第一文件的存储路径;将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件,在所述插件中保存第一型号与第二文件的存储路径的对应关系;将第一型号下的第一虚拟相机的基本信息添加到所述第一文件,所述基本信息包括第一型号和第一虚拟相机的标识信息;
插件调用模块,当接收到虚拟相机发现请求时,调用所述插件;
插件,接收到虚拟相机发现请求,根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
一种插件,用于接收到虚拟相机发现请求,根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被一处理器执行时实现如上任一项所述的方法的步骤。
本发明实施例中,虚拟相机在一个插件中实现,可用虚拟相机代替真实工业相机完成视觉软件的开发和测试,视觉软件开发和测试设备上无需具有与真实工业相机对应的硬件接口,降低了成本,且在进行视觉软件开发和测试时,将不再受限于开发和测试设备的硬件接口数量,可模拟任意多个真实工业相机,轻松搭建多相机环境用于视觉软件的联调和测试,提高了开发和测试效率。
附图说明
图1为上层应用程序访问工业相机的示意图;
图2为本发明一实施例提供的工业相机仿真方法流程图;
图3为本发明一实施例提供的虚拟相机创建方法流程图;
图4为应用本发明实施例创建虚拟相机的界面示例图;
图5为本发明一实施例提供的虚拟相机访问方法流程图;
图6为应用本发明实施例访问一虚拟相机的示例图;
图7为本发明实施例提供的工业相机仿真装置的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
发明人经过分析发现:在机器视觉领域,图像的采集源往往是工业相机。根据传输协议的不同,工业相机分为多个类型,如:通过网络传输的千兆网口工业相机,通过USB3.0传输的U3V工业相机,通过同轴电缆传输的CoaXPress工业相机等。视觉软件依赖于工业相机,而搭建真实的相机物理环境,有时候颇费周章。为了解决有时候不方便搭建真实环境的问题,发明人想到用虚拟相机来代替真实的工业相机,用来调试视觉程序。虚拟相机本质上是对真实工业相机属性及行为的模仿。
工业相机通过提供工业相机API(Application Interface,应用程序接口)以供上层应用程序高效快速开发。工业相机API往往是在动态链接库里面实现,该动态链接库将实现标准协议要求的主机端工作内容(例如:处理工业相机连接请求及参数访问请求等),并向上提供API以供应用程序访问相机,如图1所示。工业相机SDK(Software DevelopmentKit,软件开发工具包)所提供的API对虚拟相机和真实工业相机的访问完全一致,这样用户就可以使用虚拟相机来代替真实的工业相机来调试开发。从而发明人给出了如下本发明的解决方案:
图2为本发明一实施例提供的工业相机仿真方法流程图,其具体步骤如下:
步骤201:创建用于完成虚拟相机访问功能的插件。
步骤202:创建用于描述虚拟相机的基本信息的第一文件;在插件中保存第一文件的存储路径。
步骤203:将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件,在插件中保存第一型号与第二文件的存储路径的对应关系。
步骤204:将第一型号下的第一虚拟相机的基本信息添加到第一文件,基本信息包括第一型号和第一虚拟相机的标识信息。
步骤205:当接收到虚拟相机发现请求,调用插件,插件根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;插件接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;插件接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
上述实施例的有益技术效果如下:
1)虚拟相机在一个插件中实现,可用虚拟相机代替真实工业相机完成视觉软件的开发和测试,视觉软件开发和测试设备上无需具有与真实工业相机对应的硬件接口,降低了成本,且在进行视觉软件开发和测试时,将不再受限于开发和测试设备的硬件接口数量,可模拟任意多个真实工业相机,轻松搭建多相机环境用于视觉软件的联调和测试,提高了开发和测试效率;在具体实现上也减少了发包收包等操作,这带来了资源的占用率减小;
2)虚拟相机支持的型号可以快速扩展,新增一型号的虚拟相机时,只需增加该型号的真实工业相机的功能参数信息文件即可,大大降低了视觉软件开发和测试的工作量和复杂度,且稳定性更高;
3)虚拟相机实现简单,它无需实现真实工业相机所对应的具体协议。
为了避免对虚拟相机的访问冲突情况,例如:避免同一时刻同时有多个用户对同一虚拟相机进行数据读、写时所引起的数据读取或写入错误的情况,本发明实施例给出了如下解决方案:
一可选实施例中,步骤204中,将第一型号下的第一虚拟相机的基本信息添加到第一文件包括:将第一虚拟相机的状态添加到第一文件,其中,第一虚拟相机的状态默认为关闭;
步骤205中,插件接收到携带第一虚拟相机标识信息的连接建立请求之后、返回连接建立成功响应之前,进一步包括;从第一文件中获取第一虚拟相机的状态,判断该状态为关闭还是占用;且,若该状态为关闭,则返回连接建立成功响应,并将第一文件中的第一虚拟相机的状态更改为占用;且,若该状态为占用,则返回连接建立失败响应。
上述实施例中,通过维护虚拟相机的状态:关闭或占用,避免了对虚拟相机的访问冲突情况,实现了对虚拟相机的稳定、可靠访问。
真实工业相机的功能参数配置文件是保存在真实工业相机侧的,为了实现对虚拟相机的功能参数的快速访问,本发明实施例给出了如下解决方案:
一可选实施例中,步骤203中,将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件包括:获取第一型号的真实工业相机的功能参数配置文件,从该配置文件中解析出第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,遍历各功能参数值的寄存器地址,获取各功能参数值,遍历完成后,将第一型号的真实工业相机的所有功能参数值的寄存器地址与功能参数值的对应关系存放到第三文件中;为第一型号的虚拟相机创建第二文件,第二文件的内容包括:第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,在插件中记录第一型号与第三文件的存储路径的对应关系。
上述实施例中,通过为虚拟相机创建功能参数配置文件:第二文件,第二文件的内容包括:第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,并将功能参数值的寄存器地址与功能参数值的对应关系存放到第三文件中,从而以第三文件模拟真实工业相机所使用的寄存器,使得在接收到针对虚拟相机的功能参数值的访问请求时,无需进行访问寄存器的操作,直接在本地就可完成对虚拟相机的功能参数值的访问操作。
对虚拟相机的功能参数值的访问过程可如下:
一可选实施例中,步骤205中,从第二文件中获取第一虚拟相机的第一功能参数信息包括:从第二文件中读取第一功能参数名称对应的功能参数值的寄存器地址;根据第一虚拟相机所属的第一型号和第三文件的存储路径的对应关系,查找到第三文件,从第三文件中读取所述功能参数值的寄存器地址对应的第一功能参数值。
为了实现对虚拟相机的取图操作,本发明实施例给出了如下解决方案:
一可选实施例中,步骤203与204之间,进一步包括:获取第一型号的虚拟相机采集的图片,在所述插件中记录第一型号与所述图片的存储路径的对应关系;
且,当插件接收到针对第一虚拟相机的取图请求时,根据第一虚拟相机所属的第一型号与图片的存储路径的对应关系,查找到对应的图片,返回查找到的图片。
一可选实施例中,获取第一型号的虚拟相机采集的图片包括:将第一型号的真实工业相机采集的图片作为第一型号的虚拟相机采集的图片;或者,构造与第一型号的真实工业相机的分辨率相同的图片,将构造的图片作为第一型号的虚拟相机采集的图片。
通过上述实施例,实现了对虚拟相机的取图操作。
一可选实施例中,步骤205中,接收到虚拟相机发现请求之后、调用插件之前,进一步包括:以插件替换第一位置存储的用于实现真实工业相机的SDK的API的动态链接库;
且,步骤205中的调用插件包括:从第一位置处调用所述插件;
且,当插件接收到针对第一虚拟相机的连接断开请求时,以第二位置存储的预先复制好的用于实现真实工业相机的SDK的API的动态链接库替换第一位置存储的插件。
通过上述实施例,以插件方式修改视觉开发或测试软件已集成的真实工业相机SDK,且,在收到虚拟相机发现请求时,以插件替换第一位置存储的用于实现真实工业相机的SDK的API的动态链接库,使得在访问虚拟相机时,访问者使用的API与真实工业相机的API是相同的。
图3为本发明一实施例提供的虚拟相机创建方法流程图,其具体步骤如下:
步骤301:创建用于实现虚拟相机SDK的API的插件。
步骤302:创建用于描述虚拟相机的基本信息的的第一文件,在步骤301创建的插件中记录第一文件的存储路径。
虚拟相机基本信息包括:虚拟相机的数目以及每个虚拟相机的基本参数和状态。其中,虚拟相机的基本参数包括:型号、厂商信息和标识信息,标识信息如:序列号、MAC(Media Access Control,媒体接入控制)地址等;虚拟相机的初始状态默认为关闭。
步骤303:当要为一个型号(设为第一型号)的真实工业相机创建虚拟相机时,获取第一型号的真实工业相机的功能参数配置xml文件,调用GenICam协议库解析该配置xml文件,获取到第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,遍历各功能参数值的寄存器地址,读取各功能参数值,遍历完成后,将第一型号的真实工业相机的所有功能参数值的寄存器地址与功能参数值的对应关系存放到预先创建的第三文件中。
步骤304:为第一型号的虚拟相机创建用于描述第一型号的虚拟相机的功能参数的第二文件,第二文件为xml文件,且第二文件遵循GenICam协议,第二文件的内容包括:第一型号的真实工业相机的所有功能参数名称和功能参数值的寄存器地址的对应关系;在用于实现虚拟相机SDK的API的插件中记录第一型号和第二文件的存储路径以及第三文件的存储路径的对应关系。
每个型号的虚拟相机对应一个第二文件和一个第三文件,即同一型号的所有虚拟相机共用一个第二文件和一个第三文件。
可见,第二文件和第三文件中的寄存器地址并不是一个真实的寄存器的地址,本发明实施例中,只是为了将虚拟相机的功能参数访问过程与真实工业相机保持同步,而直接将真实工业相机中用于保存功能参数值的寄存器的地址沿用过来,本发明实施例中,实际上,一个型号的虚拟相机的所有功能参数值都保存在第三文件中,即第二文件中的所有功能参数值的寄存器地址实际上都指向了第三文件。
步骤305:获取第一型号的虚拟相机采集的图片,在用于实现虚拟相机SDK的API的插件中记录第一型号与第一型号的虚拟相机采集的图片的存储路径的对应关系。
其中,第一型号的虚拟相机采集的图片可以是第一真实工业相机采集的图片,也可以是人为构造的与第一真实工业相机的分辨率相同的图片。
步骤306:当要创建第一型号下的第一虚拟相机时,将第一文件中的虚拟相机的数目加1,并在第一文件中添加一条第一虚拟相机的基本信息,包括:第一虚拟相机的基本参数(包括:型号、厂商信息、序列号和MAC地址等)以及第一虚拟相机的状态:关闭。
可见,第一文件用于存储所有虚拟相机的基本信息,即所有虚拟相机共用第一文件。
图4为创建虚拟相机的界面示例图。当用户要创建虚拟相机时,首先将界面右边的“仿真模式”选择按钮移到右边,以开启仿真模式,然后用户点击界面右边的“添加虚拟相机”按钮,然后在该按钮上方的输入框中输入要添加的虚拟相机的型号,则系统会自动为该虚拟相机生成一个序列号,然后在界面左边会显示该虚拟相机的型号和序列号。图4所示界面左边为已经创建的6个虚拟相机的型号和序列号,其中,括号前面的字符表示型号,括号内的字符表示序列号。
图5为本发明一实施例提供的虚拟相机访问方法流程图,其具体步骤如下:
步骤501:接收到外部输入的虚拟相机发现请求,则以用于实现虚拟相机SDK的API的插件替换用于实现真实工业相机SDK的API的动态链接库,调用该插件。
为了使得虚拟相机的访问过程对上层应用程序而言是透明的,即对上层应用程序而言对虚拟相机的访问过程与对真实工业相机的访问过程是相同的,而用于实现真实工业相机的SDK的API的动态链接库是保存在固定位置如:第一位置,本步骤中,接收到外部输入的仿真模式开启请求时,以用于实现虚拟相机SDK的API的插件替换第一位置存储的用于实现真实工业相机SDK的API的动态链接库,然后从第一位置调用该插件。其中,需要预先复制一份用于实现真实工业相机SDK的API的动态链接库并存储到第二位置。步骤502:插件根据自身记录的第一文件的存储路径,从第一文件获取到所有虚拟相机的基本信息,返回所有虚拟相机的基本信息如:标识信息。
步骤503:该插件接收到外部输入的针对第一虚拟相机的连接建立请求,则在第一文件中查询第一虚拟相机的状态,若状态为占用,则返回连接建立失败响应;若状态为关闭,则返回连接建立成功响应,并将第一文件中第一虚拟相机的状态更改为占用,并根据自身记录的第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,获取到第二文件。
步骤504:该插件接收到外部输入的针对第一虚拟相机的第一功能参数的值访问请求,则调用GenICAM协议库解析第二文件,从第二文件中读取值访问请求针对的第一功能参数名称对应的功能参数值的寄存器地址,根据第一虚拟相机所属的第一型号与第三文件的存储路径的对应关系,查找到第三文件,在第三文件中查询到该寄存器地址对应的功能参数值,对该功能参数值进行单位换算后返回。
例如:接收到针对第一虚拟相机的Width(宽度)值访问请求,在第二文件中查找到记录Width值的寄存器地址是0x0000003f,在第三文件中查找到寄存器地址0x0000003f对应的Width值,通过单位换算得到返回的Width值。
步骤505:该插件接收到针对第一虚拟相机的取图开启请求,则根据自身记录的第一虚拟相机所属的第一型号与图片的存储路径的对应关系,从对应存储路径中读取图片,返回读取的图片。
在返回图片前,可在第二文件和第三文件中查找到出图帧率和触发模式,按照出图帧率和触发模式返回图片。触发模式,即在满足设定条件下出图。
出图帧率和触发模式属于虚拟相机的功能参数,插件可通过步骤504所述的过程获得这两个参数的取值。
步骤506:当接收到外部输入的针对第一虚拟相机的取图停止请求后,停止读取和返回图片。
步骤507:当接收到外部输入的针对第一虚拟相机的连接断开请求后,将第一文件中的第一虚拟相机的状态更改为关闭。
且,本步骤中,当接收到外部输入的针对第一虚拟相机的连接断开请求后,还需以第二位置存储的预先复制好的用于实现真实工业相机SDK的API的动态链接库替换第一位置存储的用于实现虚拟相机SDK的API的插件。图6为访问一虚拟相机的示例图。其中,当接收到外部输入的虚拟相机发现请求后,界面左边的虚拟相机列表部分会显示第一文件中包含的所有虚拟相机的序列号列表;当一个序列号(如图中的序列号99817624)被选中,且界面左上方的操作按钮中的第一个按钮:连接建立按钮被点击时,则序列号为99817624的虚拟相机被连接,界面左下方和右侧会显示该相机的其它基本信息;当界面左上方的操作按钮中的第二个按钮:图片预览按钮被点击时,界面中间的预览显示部分会显示该相机采集的图片。
通过以上描述可以看出,本发明实施例中,在实现对虚拟相机的仿真过程中,共用到了三个文件:第一文件、第二文件和第三文件,其中:
三个文件的内容和创建时机分别如下:
1、第一文件
第一文件的内容包括:各型号下的各虚拟相机的基本信息,包括:虚拟相机的基本参数(包括:型号、厂商信息、序列号和MAC地址等)以及虚拟相机的状态:关闭或占用;
第一文件的创建时机:在创建第一个虚拟相机之前,或者在创建第一个虚拟相机时。
2、第二文件
第二文件的内容包括:每个型号的真实工业相机的所有功能参数名称和功能参数值的寄存器地址的对应关系;
第二文件的创建时机:要创建一个新型号的虚拟相机时。
3、第三文件
第三文件的内容包括:每个型号的真实工业相机的所有功能参数值的寄存器地址与功能参数值的对应关系;
第三文件的创建时机与第二文件相同,都为:要创建一个新型号的虚拟相机时。
可见,所有型号的所有虚拟相机共用第一文件,因此,第一文件要在创建第一个虚拟相机时或者之前创建,且将第一个虚拟相机的基本信息添加到第一文件,此后,每创建一个虚拟相机,将该虚拟相机的基本信息添加到第一文件即可;同一型号的虚拟相机共用一个第二文件和一个第三文件,因此,每当要创建一个新型号的虚拟相机时,创建一个针对该新型号的第二文件和一个针对该新型号的第三文件。
第一文件、第二文件、第三文件的使用过程如下:
当用户等要访问虚拟相机时,先发出一个虚拟相机发现请求,此时插件读取第一文件,将第一文件中包含的所有虚拟相机的标识信息等提供给用户;然后,用户在其中选择一个虚拟相机如:第一虚拟相机,然后发出针对第一虚拟相机的连接建立请求,连接建立后,用户等可发出针对第一虚拟相机的一功能参数的访问请求,插件根据第一虚拟相机的型号在对应的第二文件中找到该功能参数名称对应的寄存器地址,然后根据该寄存器地址在该型号的第三文件中查找到功能参数值并返回给用户等。
图7为本发明实施例提供的工业相机仿真装置的结构示意图,该装置主要包括:
插件创建模块71,创建一个用于完成虚拟相机访问功能的插件。
虚拟相机创建模块72,创建用于描述虚拟相机的基本信息的第一文件,在插件中保存第一文件的存储路径;将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件,在插件中保存第一型号与第二文件的存储路径的对应关系;将第一型号下的第一虚拟相机的基本信息添加到所述第一文件,基本信息包括第一型号和第一虚拟相机的标识信息。
插件调用模块73,当接收到虚拟相机发现请求时,调用插件。
插件74,接收到虚拟相机发现请求,根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
本发明实施例还提供一种插件,用于接收到虚拟相机发现请求,根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
本发明实施例还提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被一处理器执行时实现如步骤201-205,或者步骤301-306,或者步骤501-507所述的方法的步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种工业相机仿真方法,其特征在于,该方法包括:
创建用于完成虚拟相机访问功能的插件;
创建用于描述虚拟相机的基本信息的第一文件,在所述插件中保存第一文件的存储路径;
将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件,在所述插件中保存第一型号与第二文件的存储路径的对应关系;所述虚拟相机本质上是对真实工业相机属性及行为的模仿;
将第一型号下的第一虚拟相机的基本信息添加到所述第一文件,所述基本信息包括第一型号和第一虚拟相机的标识信息;
当接收到虚拟相机发现请求,调用所述插件,所述插件根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;所述插件接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;所述插件接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
2.根据权利要求1所述的方法,其特征在于,所述将第一型号下的第一虚拟相机的基本信息添加到所述第一文件包括:
将第一虚拟相机的状态添加到第一文件,其中,第一虚拟相机的状态默认为关闭;
所述插件接收到携带第一虚拟相机标识信息的连接建立请求之后、返回连接建立成功响应之前,进一步包括;
从第一文件中获取第一虚拟相机的状态;
若该状态为关闭,则返回所述连接建立成功响应,并将第一文件中的第一虚拟相机的状态更改为占用;
若该状态为占用,则返回连接建立失败响应。
3.根据权利要求1所述的方法,其特征在于,所述将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件包括:
获取第一型号的真实工业相机的功能参数配置文件,从该配置文件中解析出第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,遍历各功能参数值的寄存器地址,获取各功能参数值,遍历完成后,将第一型号的真实工业相机的所有功能参数值的寄存器地址与功能参数值的对应关系存放到第三文件中;
为第一型号的虚拟相机创建第二文件,第二文件的内容包括:第一型号的真实工业相机的所有功能参数名称与功能参数值的寄存器地址的对应关系,在所述插件中保存第一型号与第三文件的存储路径的对应关系。
4.根据权利要求3所述的方法,其特征在于,
所述从第二文件中获取第一虚拟相机的第一功能参数信息包括:
从第二文件中读取第一功能参数名称对应的功能参数值的寄存器地址;根据第一虚拟相机所属的第一型号和第三文件的存储路径的对应关系,查找到第三文件,从第三文件中读取所述功能参数值的寄存器地址对应的第一功能参数值。
5.根据权利要求1所述的方法,其特征在于,所述将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件之后进一步包括:
获取第一型号的虚拟相机采集的图片,在所述插件中记录第一型号与所述图片的存储路径的对应关系;
且,当所述插件接收到针对第一虚拟相机的取图请求时,根据第一虚拟相机所属的第一型号与图片的存储路径的对应关系,查找到对应的图片,返回查找到的图片。
6.根据权利要求5所述的方法,其特征在于,所述获取第一型号的虚拟相机采集的图片包括:
将第一型号的真实工业相机采集的图片作为第一型号的虚拟相机采集的图片;或者,构造与第一型号的真实工业相机的分辨率相同的图片,将构造的图片作为第一型号的虚拟相机采集的图片。
7.根据权利要求1所述的方法,其特征在于,所述接收到虚拟相机发现请求之后、调用所述插件之前,进一步包括:
以所述插件替换第一位置存储的用于实现真实工业相机的软件工具包SDK的应用程序接口API的动态链接库;
所述调用所述插件包括:
从第一位置处调用所述插件;
且,所述方法进一步包括:当所述插件接收到针对第一虚拟相机的连接断开请求时,以第二位置存储的预先复制好的所述动态链接库替换第一位置存储的所述插件。
8.一种工业相机仿真装置,其特征在于,该装置包括:
插件创建模块,创建一个用于完成虚拟相机访问功能的插件;
虚拟相机创建模块,创建用于描述虚拟相机的基本信息的第一文件,在所述插件中保存第一文件的存储路径;将第一型号的真实工业相机的功能参数信息作为第一型号的虚拟相机的功能参数信息添加到第二文件,在所述插件中保存第一型号与第二文件的存储路径的对应关系;将第一型号下的第一虚拟相机的基本信息添加到所述第一文件,所述基本信息包括第一型号和第一虚拟相机的标识信息;
插件调用模块,当接收到虚拟相机发现请求时,调用所述插件;
插件,接收到虚拟相机发现请求,根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
9.一种插件装置,其特征在于,位于工业相机仿真装置内,该插件装置用于接收到虚拟相机发现请求,根据第一文件的存储路径,从第一文件中获取所有虚拟相机的基本信息,返回所有虚拟相机的基本信息;接收到携带第一虚拟相机标识信息的连接建立请求,返回连接建立成功响应;接收到针对第一虚拟相机的第一功能参数的访问请求,根据第一虚拟相机所属的第一型号与第二文件的存储路径的对应关系,从第二文件中获取第一虚拟相机的第一功能参数信息,返回第一虚拟相机的第一功能参数信息。
10.一种可读存储介质,其特征在于,该可读存储介质上存储有计算机程序,该计算机程序被一处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010738870.4A CN111881045B (zh) | 2020-07-28 | 2020-07-28 | 工业相机仿真方法、装置及插件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010738870.4A CN111881045B (zh) | 2020-07-28 | 2020-07-28 | 工业相机仿真方法、装置及插件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881045A CN111881045A (zh) | 2020-11-03 |
CN111881045B true CN111881045B (zh) | 2023-04-28 |
Family
ID=73201868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010738870.4A Active CN111881045B (zh) | 2020-07-28 | 2020-07-28 | 工业相机仿真方法、装置及插件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881045B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184167A (zh) * | 2007-12-14 | 2008-05-21 | 西安交通大学 | 一种工业智能相机 |
CN101303650A (zh) * | 2008-07-09 | 2008-11-12 | 腾讯科技(深圳)有限公司 | 一种软件平台的功能扩展方法及功能扩展系统 |
CN103336710A (zh) * | 2013-06-26 | 2013-10-02 | 安科智慧城市技术(中国)有限公司 | 一种虚拟设备控件的构建方法及系统 |
CN109831354A (zh) * | 2019-01-22 | 2019-05-31 | 浙江工业大学 | 基于opc ua工业通讯协议的虚拟调试系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119542A1 (en) * | 2007-11-05 | 2009-05-07 | Advantest Corporation | System, method, and program product for simulating test equipment |
JP5067477B2 (ja) * | 2010-12-28 | 2012-11-07 | カシオ計算機株式会社 | 撮像パラメータ取得装置、撮像パラメータ取得方法、及び、プログラム |
US9514254B2 (en) * | 2012-01-24 | 2016-12-06 | The United States Of America As Represented By The Secretary Of The Navy | Modular model and simulation architecture |
-
2020
- 2020-07-28 CN CN202010738870.4A patent/CN111881045B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184167A (zh) * | 2007-12-14 | 2008-05-21 | 西安交通大学 | 一种工业智能相机 |
CN101303650A (zh) * | 2008-07-09 | 2008-11-12 | 腾讯科技(深圳)有限公司 | 一种软件平台的功能扩展方法及功能扩展系统 |
CN103336710A (zh) * | 2013-06-26 | 2013-10-02 | 安科智慧城市技术(中国)有限公司 | 一种虚拟设备控件的构建方法及系统 |
CN109831354A (zh) * | 2019-01-22 | 2019-05-31 | 浙江工业大学 | 基于opc ua工业通讯协议的虚拟调试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111881045A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI566160B (zh) | 用於多應用程式或程序間動態模擬之協調的電腦儲存媒體、方法及計算裝置 | |
WO2021204296A1 (zh) | 三维模型远程展示方法、第一终端、电子设备及存储介质 | |
CN107659455B (zh) | 一种iOS端Mock数据的方法、存储介质、设备及系统 | |
CN111124567B (zh) | 目标应用的操作录制方法和装置 | |
WO2004049180A1 (ja) | リアルタイムウェブ共有システム | |
CN104750372B (zh) | 一种文件共享方法和装置 | |
CN110515514B (zh) | 一种数据处理方法、装置及存储介质 | |
CN110837474A (zh) | 一种脚本录制方法、装置、终端及存储介质 | |
CN111949515B (zh) | 测试场景重现方法、装置及电子设备 | |
US20170286040A1 (en) | Display and operating unit and method of operating a field instrument having a display and operating unit | |
CN107748715B (zh) | 基于Unity的纹理贴图配置信息检测方法及其系统 | |
KR20120034153A (ko) | 기록 장치 및 기록 방법 | |
CN111881045B (zh) | 工业相机仿真方法、装置及插件 | |
CN103677792A (zh) | 一种基于龙芯平台Linux操作系统下rdesktop的优化方法 | |
CN114253824A (zh) | 游戏兼容性测试方法及系统 | |
CN111309221B (zh) | 页面处理方法、装置及设备 | |
CN116204670A (zh) | 车辆目标检测数据的管理方法、系统及电子设备 | |
CN107767434B (zh) | 虚拟现实技术中纹理贴图配置信息的获取方法、存储介质 | |
CN112667564B (zh) | 一种Zynq平台记录管理方法及系统 | |
CN114153539A (zh) | 前端应用界面生成方法、装置、电子设备和存储介质 | |
JP2001005652A (ja) | プログラム間バインド方法 | |
CN115168252B (zh) | 一种打印终端的通用调试方法及系统 | |
CN111831497A (zh) | 一种设备仿真方法、装置、存储介质及仿真终端 | |
JP2581010B2 (ja) | ネットワーク管理システムにおける管理対象オブジェクト属性値管理システム | |
JPH0991188A (ja) | 画像通信装置及び方法 |
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 | ||
CB02 | Change of applicant information |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |