一种基于空间实景地图的位置标定方法与流程

文档序号:17332341发布日期:2019-04-05 22:10阅读:1228来源:国知局
一种基于空间实景地图的位置标定方法与流程

本发明涉及大数据技术领域,具体涉及一种基于空间实景地图的位置标定方法。



背景技术:

目前,摄像头因为存在误差,已存在多种标定方法,比如通过双摄像头进行标定,通过标定板计算误差后进行标定,工作量大,前期准备周期长,且不容易实施,尤其是当摄像头转动旋转后,标定位置偏移回更大。



技术实现要素:

本发明的目的是提供一种基于空间实景地图的位置标定方法,不需要测量物体与摄像头的距离,在减少误差标定物体后,即使当摄像机旋转,标定点依然能够准确定位。

本发明提供一种基于空间实景地图的位置标定方法,包括如下步骤:

步骤1)、画面显示:

1.1、获取当前摄像头的分辨率,ratio_height*ratio_width;

1.2、获取视频显示画面的宽高,screen_h*screen_w;

步骤2)、标定过程:

2.1、在视频画面上随机取得一点a,得到点a的(x,y)坐标;

2.2、根据坐标,获得对应像素点的坐标(sx,sy);

2.3、获取摄像头的水平夹角,hor_angle;

2.4、获取摄像头的垂直夹角,ver_angle;

2.5、获取当前摄像头的水平偏移角,hor_offset_angle;

2.6、获取当前摄像头的垂直偏移夹角,ver_offset_angle;

2.7、获取当前摄像头的缩放倍数,scale_ratio;

2.8、所有的画面都在一个圆球面上,画面透过投影方式显示在视频中,计算穿过当前平面中心点的三维坐标,设焦距为1,定义三维坐标,y方向,向下为正;pi为三角函数中的估算值3.1415926;

2.9、求出当前视频中心点对应的垂直角度,pointcentery=sin(ver_offset_angle*pi/180);

2.10、求出当前视频中心点对应的垂直角度,pointcenterx=cos(hor_offset_angle*pi/180);

2.11、假设z向量与x,y轴垂直相交,求得标定点在z方向的坐标,pointcenterz=fabs(pointcenterx*tan(fpanpos*pi/180));

2.12、假设投影宽高:videoscreenw=2*tan((hor_angle/2)*pi/180.0),videoscreenh=2*tan((ver_angle/2)*pi/180.0);

2.13、以视频画面的中心点为坐标,pointx=x-screenw/2,pointy=y-screenh/2;

2.14、计算出标定点在二维平面的估算坐标值:

realx=(1+m_factor*(pow(pointx,2)+pow(pointy,2)))*pointx;

realy=(1+m_factor*(pow(pointx,2)+pow(pointy,2)))*pointy;

其中m_factor为误差偏移系数,能够调节,m_factor越大,则偏移量越小;

2.15、根据估算值,获取该点距离中心点的距离;

2.16、scalewitdh=realx/screen_w;

2.17、scaleheight=realy/screen_h;

2.18、获取点对应的中心点的角度:

anglew=scalewitdh*videoscreenw;

angleh=scaleheight*videoscreenh;

2.19、设标记点相对于中心点坐标的偏移量为dx,dy,dz,能够得如下方程

tan(fpanpos*pi/180)=dx/dz;

dx*dx+dz*dz=anglew*anglew;

cos(ftiltpos*pi/180)=dy/angleh;

2.20、联立方程,根据象限判断,能够得出dx,dy,dz,则求出该点在三维空间中的估算坐标;

2.21、当摄像头移动后,重新获取摄像头的上述值,根据摄像头的角度偏移量,求出此时图像中点对应的三维坐标o(centerx,centery,centerz),用点a的dx,dy,dz与摄像头原点o(0,0,0)连成直线,与视频画面的空间平面相交于m点,逆向推导求出标定点在视频画面上的点m(x1,y1,z1),即可重新标定原来的a点在画面上的坐标。

其中,本发明中涉及到专业名词做如下解释说明:

1、分辨率:摄像头能支持到的最大图像大小的像素点,如640x480(普清),800x600,1280x720(高清),1920x1080(全高清或超清),是指横向以及纵向的像素点数。

2、帧率:摄像头在最大分辨率下能够支持的最高视频捕获能力,一般为15-25每秒(fps)。

3、物距:物体距离摄像机的距离。

4、焦距:焦距是镜头和感光元件之间的距离,通过改变镜头的焦距,可以改变镜头的放大倍数,改变拍摄图像的大小。镜头的放大倍数≈焦距/物距。

5、视场角:反映画面的拍摄范围。焦距固定时,视场角越小,在感光元件上形成的画面范围越小;反之,视场角越大,在感光元件上形成的画面范围越大。水平和垂直视场角的角度大小可能不相同。

与现有技术相比,本发明的有益效果如下:

1、不需要标定前的大量测量道具,节省了物力成本和时间成本。即与现有技术相比,大大减少了标定工作的工作周期。

2、根据每个摄像头的不同,只需要调节和优化误差系数,即可减少误差值。

附图说明

图1为本发明一种基于空间实景地图的位置标定方法的功能流程示意图。

图2为本发明中一个实体的像素点与摄像头成像画面的关系示意图。

具体实施方式

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

请参阅图1~2,本发明提供一种基于空间实景地图的位置标定方法,包括如下步骤:

步骤(1)、画面显示:

1.1、获取当前摄像头的分辨率,ratio_height*ratio_width;

1.2、获取视频显示画面的宽高,screen_height*screen_width;

步骤(2)、标定过程:

2.1、在视频画面上随机取得一点a,得到点a在画面上的(x,y)坐标;

2.2、根据坐标,获得对应像素点的坐标(sx,sy);

2.3、获取摄像头的水平夹角,hor_angle;

2.4、获取摄像头的垂直夹角,ver_angle;

2.5、获取当前摄像头的水平偏移角,hor_offset_angle;

2.6、获取当前摄像头的垂直偏移角,ver_offset_angle;

2.7、获取当前摄像头的缩放倍数,scale_ratio,如图1;

2.8、所有的画面都在一个圆球面上,画面透过投影方式显示在视频中,计算穿过当前平面中心点的三维坐标,设焦距为1,定义三维坐标,y方向,向下为正;pi为三角函数中的估算值3.1415926;

2.9、求出当前视频中心点对应的垂直角度,pointcentery=sin(ver_offset_angle*pi/180);

2.10、求出当前视频中心点对应的垂直角度,pointcenterx=cos(hor_offset_angle*pi/180);

2.11、假设z向量与x,y轴垂直相交,求得标定点在z方向的坐标,pointcenterz=fabs(pointcenterx*tan(fpanpos*pi/180));

2.12、假设投影宽高:videoscreenw=2*tan((hor_angle/2)*pi/180.0),videoscreenh=2*tan((ver_angle/2)*pi/180.0);

2.13、以视频画面的中心点为坐标,pointx=x-screenw/2,pointy=y-screenh/2;

2.14、计算出标定点在二维平面的估算坐标值:

realx=(1+m_factor*(pow(pointx,2)+pow(pointy,2)))*pointx;

realy=(1+m_factor*(pow(pointx,2)+pow(pointy,2)))*pointy;

其中m_factor为误差偏移系数,能够调节,m_factor越大,则偏移量越小,能够根据实际标定后的结果进行优化。

2.15、根据估算值,获取该点距离中心点的距离;

2.16、scalewitdh=realx/screen_w;

2.17、scaleheight=realy/screen_h;

2.18、获取点对应的中心点的角度:

anglew=scalewitdh*videoscreenw;

angleh=scaleheight*videoscreenh;

2.19、设标记点相对于中心点坐标的偏移量为dx,dy,dz,能够得如下方程

tan(fpanpos*pi/180)=dx/dz;

dx*dx+dz*dz=anglew*anglew;

cos(ftiltpos*pi/180)=dy/angleh;

2.20、联立方程,根据象限判断,能够得出dx,dy,dz,则求出该点在三维空间中的估算坐标,如图1;

2.21、当摄像头移动后,重新获取摄像头的上述值,根据摄像头的角度偏移量,求出此时图像中点对应的三维坐标o(centerx,centery,centerz),用点a的dx,dy,dz与摄像头原点o(0,0,0)连成直线,与视频画面的空间平面相交于m点,逆向推导求出标定点在视频画面上的点m(x1,y1,z1),即可重新标定原来的a点在画面上的坐标,如图2。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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