基于三线标定的摄像头外参标定方法及计算机装置与流程

文档序号:27131214发布日期:2021-10-29 21:23阅读:315来源:国知局
基于三线标定的摄像头外参标定方法及计算机装置与流程

1.本发明涉及基于图像处理技术领域,具体涉及一种基于三线标定的摄像头外参标定方法及计算机装置。


背景技术:

2.近年来目标跟踪、检测以及定位的市场需求和应用越来越多,这些应用均需要对图像中的内容进行分析、处理、检测。对图像处理的基础是需要知道图像本身或者获取图像的摄像头的参数,即相机参数。相机参数主要包含内部参数(内参)和外部参数(外参)两部分。内参是相机本身的固有参数,包含光心位置、焦距、畸变系数等。外参是相机在世界坐标系中的位置和方向,即世界坐标系与相机坐标系的转换关系,其中世界坐标系是用户定义的实际应用场景中的物理坐标系。
3.在实际应用中,多为基于多摄像头进行目标定位。在一个世界坐标系场景中,通过外参标定得到每个摄像头在世界坐标系中的位置,方向以及与世界坐标系的转换关系。如果外参标定不准确,就会导致目标定位精度的下降以及错误,无法完成定位跟踪等应用,因此简单精确的外参标定方法是现在市场的急需。


技术实现要素:

4.鉴于以上内容,有必要提出一种基于三线标定的摄像头外参标定方法及计算机装置,利用三线标定布进行多摄像头的外参自动标定,避免手动测量每个摄像头下方标定点的世界坐标产生的费时及引入误差的问题,从而提高多摄像头标定精度和标定效率。
5.本技术的第一方面提供一种基于三线标定的摄像头外参标定方法,所述方法包括:
6.在三线标定布的三条线的每一条线上设置一个点为起始点,其中所述三线标定布的每一条线由两条平行的线条格并列构成,每一线条格由多个方格连接构成;
7.获取所有所述起始点的世界坐标及图像像素坐标;
8.从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为一个摄像头的标定点;
9.根据所有起始点的世界坐标计算出所述三线标定布上每条线上的标定点的世界坐标,及根据所有起始点的图像像素坐标计算出所述三线标定布上每条线上的标定点的图像像素坐标;
10.根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参。
11.优选地,所述在三线标定布的三条线的每一条线上设置一个点为起始点包括:
12.在所述三线标定布的第一条线的线条格上设置第一起始点,在所述三线标定布的第二条线的线条格上设置第二起始点,在所述三线标定布的第三条线的线条格上设置第三起始点,所述第一起始点、第二起始点、第三起始点、组成等腰三角形。
13.优选地,所述获取所有所述起始点的世界坐标及图像像素坐标包括:
14.以所述三线标定布的宽度方向为y轴,以所述三线标定布的长度方向为x轴,以垂直于所述三线标定布所在的平面的轴线为z轴,以所述三线标定布中的一个起始点为原点建立世界坐标系;
15.获取所有所述起始点在所述世界坐标系的坐标;
16.以所述三线标定布中的一个起始点作为摄像头的位置标定点,获取所述位置标定点的摄像头采集的包括三个起始点的图像;及
17.获取所述图像中位于所述起始点处的图像像素坐标。
18.优选地,所述从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为标定点包括:
19.根据所述第一起始点、第二起始点、第三起始点在所述世界坐标系的世界坐标计算出所述等腰三角形底边的中点的世界坐标;
20.将所述中点与所述第三起始点的方向确定为所述三线标定布的方向;及
21.分别从所述三线标定布的第一起始点、第二起始点、第三起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为标定点,其中预设格数为大于1的偶数。
22.优选地,所述根据所有起始点的世界坐标计算出所述三线标定布上每条线上的标定点的世界坐标包括:
23.根据公式计算出所述三线标定布中的第一线条线上的标定点的世界坐标,其中(x
an
,y
an
,z
an
)为所述三线标定布中的第一线条线上相对于所述第一起始点的第n个标定点的世界坐标,(x
a
,y
a
,z
a
)为所述第一起始点的世界坐标,(x
c
,y
c
,z
c
)为所述第三起始点的世界坐标,(x
d
,y
d
,z
d
)为所述中点的世界坐标,m为预设格数,h为所述等腰三角形的高;
24.根据公式计算出所述三线标定布中的第二线条线上的标定点的世界坐标,其中(x
bn
,y
bn
,z
bn
)为所述三线标定布中的第二线条线上相对于所述第二起始点的第n个标定点的世界坐标,(x
b
,y
b
,z
b
)为所述第二起始点的世界坐标;
25.根据公式计算出所述三线标定布中的第三线条线上的标定点的世界坐标,其中(x
cn
,y
cn
,z
cn
)为所述三线标定布中的第三线条线上相对于所述第三起始点的第n个标定点的世界坐标。
26.优选地,所述根据所有起始点的图像像素坐标计算出所述三线标定布上每条线上的标定点的图像像素坐标包括:
27.根据公式计算出所述三线标定布中的第一线条线上的标定点的图像像素坐标,其中(p_x
an
,p_y
an
)为所述三线标定布中的第一线条线上相对于所述第一起始点的第n个标定点的图像像素坐标,(p_x
a
,p_y
a
)为所述第一起始点的图像像素坐标,(p_x
c
,p_y
c
)为所述第三起始点的图像像素坐标,(p_x
d
,p_y
d
)为所述中点的图像像素坐标,m为预设格数,h为所述等腰三角形的高;
28.根据公式计算出所述三线标定布中的第二线条线上的标定点的图像像素坐标,其中(p_x
bn
,p_y
bn
)为所述三线标定布中的第二线条线上相对于所述第二起始点的第n个标定点的图像像素坐标,(p_x
b
,p_y
b
)为所述第二起始点的图像像素坐标;及
29.根据公式计算出所述三线标定布中的第三线条线上的标定点的图像像素坐标,其中(p_x
cn
,p_y
cn
)为所述三线标定布中的第三线条线上相对于所述第三起始点的第n个标定点的图像像素坐标,(p_x
b
,p_y
b
)为所述第三起始点的图像像素坐标。
30.优选地,所述方法还包括:
31.获取所述标定点位置处的摄像头所拍摄的图像,对所述图像中的标定点进行角点检测以修正所述图像中的标定点的图像像素坐标。
32.优选地,所述方法还包括:
33.接收重选标定点的指令,将当前已标定的摄像头的三个标定点分别作为所述三线标定布的三条线的每一条线上下一个待标定的摄像头的起始点,获取所述待标定的摄像头
的起始点的图像像素坐标,根据公式计算得到所述待标定的摄像头的起始点的世界坐标,其中,r为所述当前已标定的摄像头的旋转矩阵,t为所述当前已标定的摄像头的平移向量,k为所述当前已标定的摄像头的内参矩阵,(u,v)为所述当前已标定的摄像头的图像像素坐标;及
34.根据所述待标定的摄像头的起始点的世界坐标,将所述待标定的摄像头的起始点沿着所述三线标定布的三条线的每一条线相平行的方向平移m个格数得到预设数量个所述待标定的摄像头的标定点的世界坐标,其中,m为预设设定的值。
35.优选地,所述根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参包括:
36.根据公式及公式计算出所述摄像头的外参,其中,(x,y,z)为所述标定点的世界坐标,(u,v)为所述标定点的图像像素坐标,k为所述摄像头的内参矩阵,fx,fy为所述摄像头中以像素为单位的焦距,cx,cy为所述摄像头中的光心,r为旋转矩阵,t为平移向量。
37.本技术的第二方面提供一种计算机装置,所述计算机装置包括处理器及存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述基于三线标定的摄像头外参标定方法。
38.本发明从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为一个摄像头的标定点,并根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参,从而避免手动测量每个摄像头下方标定点的世界坐标产生的费时及引入误差的问题,从而提高多摄像头标定精度和标定效率。
附图说明
39.图1是本发明一实施方式中基于三线标定的摄像头外参标定方法的流程图。
40.图2是本发明一实施方式中三线标定布的示意图。
41.图3是本发明一实施方式中起始点及标定点的示意图。
42.图4是本发明一实施方式中摄像头外参标定装置的结构图。
43.图5是本发明一实施方式中计算机装置的示意图。
具体实施方式
44.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例
中的特征可以相互组合。
45.在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
47.优选地,本发明的基于三线标定的摄像头外参标定方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于处理器、外部存储介质、内存等。
48.所述计算机装置可以是,但不限于,台式计算机、笔记本电脑、云端服务器、智能手机等设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板、手势识别设备、声控设备等方式进行人机交互。
49.实施例一
50.图1是本发明一实施方式中基于三线标定的摄像头外参标定方法的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。为了便于说明,仅示出了与本发明实施例相关的部分。
51.如图1所示,所述基于三线标定的摄像头外参标定方法具体包括以下步骤。
52.步骤s11、在三线标定布的三条线的每一条线上设置一个点为起始点,其中所述三线标定布的每一条线由两条线条格并列构成,每一线条格由多个方格连接构成。
53.请参考图2,所示为本发明一实施方式中三线标定布的示意图。本实施方式中,所述三线标定布由三条平行的线条组成。其中,每一条线由两条平行的线条格并列构成,每一线条格由多个黑色方格与白色方格交替连接构成。本实施方式中,黑色方格与白色方格的边长为l_grid,三线标定布中相邻两条线之间的距离为n个l_grid,并标记为l_white。三线标定布的长度为s个l_grid,标记为l_length。三线标定布中的宽度为w个l_grid,标记为l_width。
54.步骤s12、获取所有起始点的世界坐标及图像像素坐标。
55.请参考图3,所示为本发明本实施方式中起始点及标定点的示意图。本实施方式中,所述“在三线标定布的三条线的每一条线上设置一个点为起始点”包括:在所述三线标定布的第一条线的线条格上设置第一起始点a,在所述三线标定布的第二条线的线条格上设置第二起始点b,在所述三线标定布的第三条线的线条格上设置第三起始点c,所述第一起始点a、第二起始点b、第三起始点c组成等腰三角形。例如,如图3所示,第一起始点a,第二起始点b为所述等腰三角形底边上的两个顶点。所述等腰三角形的高为第三起始点c到等腰三角形的底边的距离。
56.本实施方式中,所述“获取所有起始点的世界坐标及图像像素坐标”包括:以三线标定布的宽度方向为y轴,以三线标定布的长度方向为x轴,以垂直于所述三线标定布所在的平面的轴线为z轴,以所述三线标定布中的一个起始点为原点建立世界坐标系;获取所有所述起始点在所述世界坐标系的坐标;以所述三线标定布中的一个起始点作为摄像头的位置标定点,获取所述位置标定点的摄像头采集的包括三个起始点的图像;获取所述图像中
位于所述起始点处的图像像素坐标。例如,如图3所示,以所述三线标定布中的第二起始点b为原点,以三线标定布的宽度方向为y轴,以三线标定布的长度方向为x轴,以垂直于所述三线标定布所在的平面的轴线为z轴建立所述世界坐标系;获取第一起始点a、第二起始点b、第三起始点c在所述世界坐标系的坐标分别为(0,l_width-2*l_grid,0),(0,0,0),(h*l_grid,(l_width-2*l_grid)/2,0),其中,h为第三起始点c到等腰三角形的底边的格子数,即第三起始点c到等腰三角形的底边的距离;以所述三线标定布中第三起始点c作为摄像头的位置标定点,获取所述位置标定点的摄像头采集的包括第一起始点a、第二起始点b、第三起始点c的图像;及获取所述图像中位于第一起始点a、第二起始点b、第三起始点c处的图像像素坐标。
57.步骤s13、从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为一个摄像头的标定点。
58.本实施方式中,所述“从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为标定点”包括:根据第一起始点a、第二起始点b、第三起始点c在所述世界坐标系的世界坐标计算出所述等腰三角形底边的中点d的世界坐标;将中点d与第三起始点c的方向确定为所述三线标定布的方向;分别从所述三线标定布的第一起始点、第二起始点、第三起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为标定点,其中预设格数为大于1的偶数。
59.步骤s14、根据所有起始点的世界坐标计算出所述三线标定布上每条线上的标定点的世界坐标,及根据所有起始点的图像像素坐标计算出所述三线标定布上每条线上的标定点的图像像素坐标。
60.本实施方式中,所述“根据所有起始点的世界坐标计算出所述三线标定布上每条线上的标定点的世界坐标”包括:根据公式计算出所述三线标定布中的第一线条线上的标定点的世界坐标,其中(x
an
,y
an
,z
an
)为所述三线标定布中的第一线条线上相对于第一起始点a的第n个标定点的世界坐标,(x
a
,y
a
,z
a
)为第一起始点的世界坐标,(x
c
,y
c
,z
c
)为第三起始点的世界坐标,(x
d
,y
d
,z
d
)为中点d的世界坐标,m为预设格数,h为所述等腰三角形的高;根据公式计算出所述三线标定布中的第二线条线上的标定点的世界坐标,其中(x
bn
,y
bn
,z
bn
)为所述三线标定布中的第二线条线上相对于第二起始点b的第n个标定点的世界坐标,(x
b
,y
b
,z
b
)为第二起始点的世界坐标;根据公式
计算出所述三线标定布中的第三线条线上的标定点的世界坐标,其中(x
cn
,y
cn
,z
cn
)为所述三线标定布中的第三线条线上相对于第三起始点c的第n个标定点的世界坐标。
61.本实施方式中,所述“根据所有起始点的图像像素坐标计算出所述三线标定布上每条线上的标定点的图像像素坐标”包括:根据公式计算出所述三线标定布中的第一线条线上的标定点的图像像素坐标,其中(p_x
an
,p_y
an
)为所述三线标定布中的第一线条线上相对于第一起始点a的第n个标定点的图像像素坐标,(p_x
a
,p_y
a
)为第一起始点的图像像素坐标,(p_x
c
,p_y
c
)为第三起始点的图像像素坐标,(p_x
d
,p_y
d
)为中点d的图像像素坐标;根据公式计算出所述三线标定布中的第一线条线上的标定点的图像像素坐标,其中(p_x
an
,p_y
an
)为所述三线标定布中的第一线条线上相对于第一起始点a的第n个标定点的图像像素坐标,(p_x
a
,p_y
a
)为第一起始点的图像像素坐标,(p_x
c
,p_y
c
)为第三起始点的图像像素坐标,(p_x
d
,p_y
d
)为中点d的图像像素坐标;根据公式计算出所述三线标定布中的第二线条线上的标定点的图像像素坐标,其中(p_x
bn
,p_y
bn
)为所述三线标定布中的第二线条线上相对于第二起始点b的第n个标定点的图像像素坐标,(p_x
b
,p_y
b
)为第二起始点b的图像像素坐标;及根据公式计算出所述三线标定布中的第三线条线上的标定点的图像像素坐标,其中(p_x
cn
,p_y
cn
)为所述三线标定布中的第三线条线上相对于第三起始点c的第n个标定点的图像像素坐标,(p_x
b
,p_y
b
)为第三起始点c的图像像素坐标。
62.本实施方式中,所述步骤s14之后还包括:获取所述标定点位置处的摄像头所拍摄
的图像,对所述图像中的标定点进行角点检测以修正所述图像中的标定点的图像像素坐标。
63.步骤s15、根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参。
64.本实施方式中,所述“根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参”包括:根据公式及公式计算出所述摄像头的外参,其中,(x,y,z)为所述标定点的世界坐标,(u,v)为所述标定点的图像像素坐标,k为所述摄像头的内参矩阵,fx,fy为所述摄像头中以像素为单位的焦距,cx,cy为所述摄像头中的光心,r为旋转矩阵,t为平移向量。
65.步骤s16、接收重选标定点的指令,将当前已标定的摄像头的三个标定点分别作为所述三线标定布的三条线的每一条线上下一个待标定的摄像头的起始点,获取所述待标定的摄像头的起始点的图像像素坐标,根据公式计算得到所述待标定的摄像头的起始点的世界坐标,其中,r为所述当前已标定的摄像头的旋转矩阵,t为所述当前已标定的摄像头的平移向量,k为所述当前已标定的摄像头的内参矩阵,(u,v)为所述当前已标定的摄像头的图像像素坐标。
66.步骤s17、根据所述待标定的摄像头的起始点的世界坐标,将所述待标定的摄像头的起始点沿着所述三线标定布的三条线的每一条线相平行的方向平移m个格数得到预设数量个所述待标定的摄像头的标定点的世界坐标。其中,m为预设设定的值。
67.本实施方式中,所述待标定的摄像头的标定点的预设数量可以根据待标定的摄像头的有效范围确定。本发明从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为一个摄像头的标定点,并根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参,从而避免手动测量每个摄像头下方标定点的世界坐标产生的费时及引入误差的问题,从而提高多摄像头标定精度和标定效率。
68.实施例二
69.图4为本发明实施例二提供的摄像头外参标定装置的结构图,为了方便说明,仅示出了与本发明实施例相关的部分,详述如下。
70.参考图4,摄像头外参标定装置100根据其所执行的功能,可以被划分为多个功能模块,所述各个功能模块用于执行图1对应实施例中的各个步骤,以实现摄像头外参标定的
功能。本发明实施例中,摄像头外参标定装置100的功能模块可以包括设置模块101、坐标获取模块102、标定点确定模块103、计算模块104、外参标定模块105以及标定模块106。各个功能模块的功能将在下面的实施例中进行详述。
71.所述设置模块101用于在三线标定布的三条线的每一条线上设置一个点为起始点,其中所述三线标定布的每一条线由两条线条格并列构成,每一线条格由多个方格连接构成。
72.请参考图2,本实施方式中,所述三线标定布由三条平行的线条组成。其中,每一条线由两条平行的线条格并列构成,每一线条格由多个黑色方格与白色方格交替连接构成。本实施方式中,黑色方格与白色方格的边长为l_grid,三线标定布中相邻两条线之间的距离为n个l_grid,并标记为l_white。三线标定布的长度为s个l_grid,标记为l_length。三线标定布中的宽度为w个l_grid,标记为l_width。
73.所述坐标获取模块102用于获取所有起始点的世界坐标及图像像素坐标。
74.请参考图3,本实施方式中,所述设置模块101在所述三线标定布的第一条线的线条格上设置第一起始点a,在所述三线标定布的第二条线的线条格上设置第二起始点b,在所述三线标定布的第三条线的线条格上设置第三起始点c,所述第一起始点a、第二起始点b、第三起始点c组成等腰三角形。例如,如图3所示,第一起始点a,第二起始点b为所述等腰三角形底边上的两个顶点。所述等腰三角形的高为第三起始点c到等腰三角形的底边的距离。
75.本实施方式中,所述坐标获取模块102以三线标定布的宽度方向为y轴,以三线标定布的长度方向为x轴,以垂直于所述三线标定布所在的平面的轴线为z轴,以所述三线标定布中的一个起始点为原点建立世界坐标系;获取所有所述起始点在所述世界坐标系的坐标;以所述三线标定布中的一个起始点作为摄像头的位置标定点,获取所述位置标定点的摄像头采集的包括三个起始点的图像;获取所述图像中位于所述起始点处的图像像素坐标。例如,如图3所示,所述坐标获取模块102以所述三线标定布中的第二起始点b为原点,以三线标定布的宽度方向为y轴,以三线标定布的长度方向为x轴,以垂直于所述三线标定布所在的平面的轴线为z轴建立所述世界坐标系;获取第一起始点a、第二起始点b、第三起始点c在所述世界坐标系的坐标分别为(0,l_width-2*l_grid,0),(0,0,0),(h*l_grid,(l_width-2*l_grid)/2,0),其中,h为第三起始点c到等腰三角形的底边的格子数;以所述三线标定布中第三起始点c作为摄像头的位置标定点,获取所述位置标定点的摄像头采集的包括第一起始点a、第二起始点b、第三起始点c的图像;及获取所述图像中位于第一起始点a、第二起始点b、第三起始点c处的图像像素坐标。
76.所述标定点确定模块103从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为一个摄像头的标定点。
77.本实施方式中,所述标定点确定模块103根据第一起始点a、第二起始点b、第三起始点c在所述世界坐标系的世界坐标计算出所述等腰三角形底边的中点d的世界坐标;将中点d与第三起始点c的方向确定为所述三线标定布的方向;分别从所述三线标定布的第一起始点、第二起始点、第三起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为标定点,其中预设格数为大于1的偶数。
78.所述计算模块104根据所有起始点的世界坐标计算出所述三线标定布上每条线上
的标定点的世界坐标,及根据所有起始点的图像像素坐标计算出所述三线标定布上每条线上的标定点的图像像素坐标。
79.本实施方式中,所述计算模块104根据公式计算出所述三线标定布中的第一线条线上的标定点的世界坐标,其中(x
an
,y
an
,z
an
)为所述三线标定布中的第一线条线上相对于第一起始点a的第n个标定点的世界坐标,(x
a
,y
a
,z
a
)为第一起始点的世界坐标,(x
c
,y
c
,z
c
)为第三起始点的世界坐标,(x
d
,y
d
,z
d
)为中点d的世界坐标,m为预设格数,h为所述等腰三角形的高;根据公式计算出所述三线标定布中的第二线条线上的标定点的世界坐标,其中(x
bn
,y
bn
,z
bn
)为所述三线标定布中的第二线条线上相对于第二起始点b的第n个标定点的世界坐标,(x
b
,y
b
,z
b
)为第二起始点的世界坐标;根据公式计算出所述三线标定布中的第三线条线上的标定点的世界坐标,其中(x
cn
,y
cn
,z
cn
)为所述三线标定布中的第三线条线上相对于第三起始点c的第n个标定点的世界坐标。
80.本实施方式中,所述计算模块104还用于根据公式计算出所述三线标定布中的第一线条线上的标定点的图像像素坐标,其中(p_x
an
,p_y
an
)为所述三线标定布中的第一线条线上相对于第一起始点a的第n个标定点的图像像素坐标,(p_x
a
,p_y
a
)为第一起始点的图像像素坐标,(p_x
c
,p_y
c
)为第三起始点的图像像素坐标,(p_x
d
,p_y
d
)为中点d的图像像素坐标;根据公式
计算出所述三线标定布中的第一线条线上的标定点的图像像素坐标,其中(p_x
an
,p_y
an
)为所述三线标定布中的第一线条线上相对于第一起始点a的第n个标定点的图像像素坐标,(p_x
a
,p_y
a
)为第一起始点的图像像素坐标,(p_x
c
,p_y
c
)为第三起始点的图像像素坐标,(p_x
d
,p_y
d
)为中点d的图像像素坐标;根据公式计算出所述三线标定布中的第二线条线上的标定点的图像像素坐标,其中(p_x
bn
,p_y
bn
)为所述三线标定布中的第二线条线上相对于第二起始点b的第n个标定点的图像像素坐标,(p_x
b
,p_y
b
)为第二起始点b的图像像素坐标;及根据公式计算出所述三线标定布中的第三线条线上的标定点的图像像素坐标,其中(p_x
cn
,p_y
cn
)为所述三线标定布中的第三线条线上相对于第三起始点c的第n个标定点的图像像素坐标,(p_x
b
,p_y
b
)为第三起始点c的图像像素坐标。
81.本实施方式中,所述计算模块104还用于获取所述标定点位置处的摄像头所拍摄的图像,对所述图像中的标定点进行角点检测以修正所述图像中的标定点的图像像素坐标。
82.所述外参标定模块105根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参。
83.本实施方式中,所述外参标定模块106根据公式及公式计算出所述摄像头的外参,其中,(x,y,z)为所述标定点的世界坐标,(u,v)为所述标定点的图像像素坐标,k为所述摄像头的内参矩阵,fx,fy为所述摄像头中以像素为单位的焦距,cx,cy为所述摄像头中的光心,r为旋转矩阵,t为平移向量。
84.所述标定模块106接收重选标定点的指令,将当前已标定的摄像头的三个标定点分别作为所述三线标定布的三条线的每一条线上下一个待标定的摄像头的起始点,获取所
述待标定的摄像头的起始点的图像像素坐标,根据公式计算得到所述待标定的摄像头的起始点的世界坐标,其中,r为所述当前已标定的摄像头的旋转矩阵,t为所述当前已标定的摄像头的平移向量,k为所述当前已标定的摄像头的内参矩阵,(u,v)为所述当前已标定的摄像头的图像像素坐标。
85.所述标定模块106还用于根据所述待标定的摄像头的起始点的世界坐标,将所述待标定的摄像头的起始点沿着所述三线标定布的三条线的每一条线相平行的方向平移m个格数得到预设数量个所述待标定的摄像头的标定点的世界坐标。其中,m为预设设定的值。
86.本实施方式中,所述待标定的摄像头的标定点的预设数量可以根据待标定的摄像头的有效范围确定。本发明从所述三线标定布的三条线的每一条线上的起始点开始沿着所述三线标定布的方向每隔预设格数选择至少一个方格作为一个摄像头的标定点,并选根据每一所述摄像头的标定点的世界坐标及图像像素坐标计算出每一所述摄像头的外参,从而避免手动测量每个摄像头下方标定点的世界坐标产生的费时及引入误差的问题,从而提高多摄像头标定精度和标定效率。
87.实施例三
88.图5为本发明实施例三提供的计算机装置的示意图。所述计算机装置10包括存储器20、处理器30以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40。所述处理器30执行所述计算机程序40时实现上述基于三线标定的摄像头外参标定方法实施例中的步骤,例如图1所示的步骤s11~s17。或者,所述处理器30执行所述计算机程序40时实现上述摄像头外参标定装置实施例中各模块/单元的功能,例如图4中的模块101~106。
89.示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置10中的执行过程。例如,所述计算机程序40可以被分割成图4中的设置模块101、坐标获取模块102、标定点确定模块103、计算模块104、外参标定模块105以及标定模块106,各模块具体功能参见实施例二。
90.所述计算机装置10可以是台式计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图5仅仅是计算机装置10的示例,并不构成对计算机装置10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置10还可以包括输入输出设备、网络接入设备、总线等。
91.所称处理器30可以是中央处理单元(central processing unit,cpu),还可以包括其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述计算机装置10的控制中心,利用各种接口和线路连接整个计算机装置10的各个部分。
92.所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置10的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置10的使用所创建的数据(比如音频数据、电话本等)等。存储器20可以包括外部存储介质,也可以包括内存。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
93.所述计算机装置10集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
94.在本发明所提供的几个实施例中,应该理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
95.另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
96.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
97.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1