System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及机器视觉,特别是涉及一种相机多进程控制方法、装置及电子设备。
技术介绍
1、在机器视觉
内,经常需要对相机进行控制,如从相机中读取数据、向相机中写入特定数据等。相关技术中,进程可以与相机建立控制通道,再通过控制通道向相机发送控制指令,以实现对相机的控制。
2、但是,受限制于相机所使用的传输协议,相机同一时间内仅能够与一个进程建立控制通道,因此同一时间内仅有一个进程能够对相机进行控制。而一些场景需要使用多个进程分别对相机进行控制,如相机测试的场景中需要客户端进程和调试工具的进程同时对相机进行控制。则受限制传输协议,这些场景无法实现。
技术实现思路
1、本申请实施例的目的在于提供一种相机多进程控制方法、装置及电子设备,以实现多进程同时控制同一相机。具体技术方案如下:
2、第一方面,本申请实施例提供了一种相机多进程控制方法,所述方法应用于第一进程,所述方法包括:
3、获取各进程的占有信息,所述占有信息用于表示进程与各相机之间是否建立有控制通道;
4、响应于针对目标相机的打开指令,根据各进程的占有信息确定与所述目标相机建立有控制通道的第二进程;
5、与所述第二进程建立转发通道;
6、响应于针对所述目标相机的控制指令,通过所述转发通道将所述控制指令发送至所述第二进程,以使得所述第二进程通过第一控制通道将所述控制指令发送至所述目标相机,以控制所述目标相机执行所述控制指令,所述第一控制通道为所述第二进程与所述
7、在一种可能的实施方式中,所述方法还包括:
8、响应于枚举指令,确定能够枚举到的各相机,作为第一相机;并根据各进程的占有信息,确定与进程建立有控制通道的各相机,作为第二相机;
9、合并各第一相机和各第二相机,得到所述第一进程能够控制的相机的集合。
10、在一种可能的实施方式中,所述与所述第二进程建立转发通道,包括:
11、获取所述第二进程的套接字端口;
12、根据所述套接字端口,与所述第二进程建立转发通道。
13、在一种可能的实施方式中,所述与所述第二进程建立转发通道,包括:
14、获取所述第二进程预先针对所述目标相机建立的命名管道的管道标识;根据所述管道标识接入所述命名管道,以与所述第二进程建立转发通道。
15、在一种可能的实施方式中,各进程在与相机建立控制通道后,组播或广播用于表示该进程与该相机建立有控制通道的占有信息;
16、所述获取各进程的占有信息,包括:
17、获取各进程组播或广播的占有信息。
18、在一种可能的实施方式中,各进程在于相机建立控制通道后,向预设共享内存写入用于表示该进程与该相机建立有控制通道的占有信息;所述获取各进程的占有信息,包括:读取所述共享内存中记录的占有信息,其中,所述共享内存为能够被各进程读写的内存。
19、在一种可能的实施方式中,所述方法还包括:
20、响应于所述转发通道断开,建立与所述相机之间的第二控制通道,其中,所述转发通道为所述第二进程在断开所述第一控制通道后断开的;
21、响应于针对所述目标相机的控制指令,通过所述第二控制通道将所述控制指令发送至所述目标相机,以控制所述目标相机执行所述控制指令。
22、在一种可能的实施方式中,所述方法还包括:
23、响应于针对所述目标相机的关闭指令,断开所述第一转发通道。
24、第二方面,本申请实施例提供了一种相机多进程控制装置,所述装置应用于第一进程,所述装置包括:
25、信息获取模块,用于获取各进程的占有信息,所述占有信息用于表示进程与各相机之间是否建立有控制通道;
26、进程确定模块,用于响应于针对目标相机的打开指令,根据各进程的占有信息确定与所述目标相机建立有控制通道的第二进程;
27、通道建立模块,用于与所述第二进程建立转发通道;
28、指令发送模块,用于响应于针对所述目标相机的控制指令,通过所述转发通道将所述控制指令发送至所述第二进程,以使得所述第二进程通过第一控制通道将所述控制指令发送至所述目标相机,以控制所述目标相机执行所述控制指令,所述第一控制通道为所述第二进程与所述目标相机之间的控制通道。
29、在一种可能的实施方式中,所述装置还包括:
30、相机枚举模块,用于响应于枚举指令,确定能够枚举到的各相机,作为第一相机;并根据各进程的占有信息,确定与进程建立有控制通道的各相机,作为第二相机;
31、相机合并模块,用于合并各第一相机和各第二相机,得到所述第一进程能够控制的相机的集合;
32、所述通道建立模块,包括:
33、通道建立第一子模块,用于获取所述第二进程的套接字端口;
34、通道建立第二子模块,用于根据所述套接字端口,与所述第二进程建立转发通道;
35、所述通道建立模块,用于,包括:
36、通道建立第三子模块,用于获取所述第二进程预先针对所述目标相机建立的命名管道的管道标识;根据所述管道标识接入所述命名管道,以与所述第二进程建立转发通道;
37、各进程在与相机建立控制通道后,组播或广播用于表示该进程与该相机建立有控制通道的占有信息;
38、所述信息获取模块,包括:
39、信息获取第一子模块,用于获取各进程组播或广播的占有信息;
40、各进程在于相机建立控制通道后,向预设共享内存写入用于表示该进程与该相机建立有控制通道的占有信息;所述信息获取模块,包括:信息获取第二子模块,用于读取所述共享内存中记录的占有信息,其中,所述共享内存为能够被各进程读写的内存;
41、所述装置还包括:
42、通道重建模块,用于响应于所述转发通道断开,建立与所述相机之间的第二控制通道,其中,所述转发通道为所述第二进程在断开所述第一控制通道后断开的;
43、指令重发模块,用于响应于针对所述目标相机的控制指令,通过所述第二控制通道将所述控制指令发送至所述目标相机,以控制所述目标相机执行所述控制指令;
44、所述装置还包括:
45、通道断开模块,用于响应于针对所述目标相机的关闭指令,断开所述第一转发通道。
46、第三方面,本申请实施例提供了一种相机多进程控制系统,所述系统包括第一进程和第二进程;
47、所述第一进程,用于获取各进程的占有信息,所述占有信息用于表示进程与各相机之间是否建立有控制通道;响应于针对目标相机的打开指令,根据各进程的占有信息确定与所述目标相机建立有控制通道的第二进程;与所述第二进程建立转发通道;响应于针对所述目标相机的控制指令,通过所述转发通道将所述控制指令发送至所述第二进程;以使得所述第二进程通过第一控制通道将所述控制指令发送至所述目本文档来自技高网...
【技术保护点】
1.一种相机多进程控制方法,其特征在于,所述方法应用于第一进程,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述与所述第二进程建立转发通道,包括:
4.根据权利要求1所述的方法,其特征在于,所述与所述第二进程建立转发通道,包括:
5.根据权利要求1所述的方法,其特征在于,各进程在与相机建立控制通道后,组播或广播用于表示该进程与该相机建立有控制通道的占有信息;
6.根据权利要求1所述的方法,其特征在于,各进程在于相机建立控制通道后,向预设共享内存写入用于表示该进程与该相机建立有控制通道的占有信息;所述获取各进程的占有信息,包括:读取所述共享内存中记录的占有信息,其中,所述共享内存为能够被各进程读写的内存。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种相机多进程控制装置,其特征在于,所述装置应用于第一进程,所述装置包括:
11.一种相机多进程控制系统,其特征在于,所述系统包括第一进程和第二进程;
12.一种电子设备,其特征在于,包括:
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法。
...【技术特征摘要】
1.一种相机多进程控制方法,其特征在于,所述方法应用于第一进程,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述与所述第二进程建立转发通道,包括:
4.根据权利要求1所述的方法,其特征在于,所述与所述第二进程建立转发通道,包括:
5.根据权利要求1所述的方法,其特征在于,各进程在与相机建立控制通道后,组播或广播用于表示该进程与该相机建立有控制通道的占有信息;
6.根据权利要求1所述的方法,其特征在于,各进程在于相机建立控制通道后,向预设共享内存写入用于表示该进程与该相机建立有控制通道的占有信息;所述获取各进程的占有信息,包括:读取所述共享...
【专利技术属性】
技术研发人员:施志萍,郑义兵,韩宴鹏,宁永科,
申请(专利权)人:杭州海康机器人股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。