全景相机及其标定方法、全景图像的拼接方法及存储介质与流程

文档序号:22742615发布日期:2020-10-31 09:27阅读:252来源:国知局
本发明涉及图像处理领域,特别涉及一种全景相机及其标定方法、全景图像的拼接方法及存储介质。
背景技术
::在监控摄像机越来越普及的情况下,数量众多的摄像机的布控虽然解决了安全防范的一些问题,但是数量越多,给用户带来的成本及维护的困扰也就越多。一般监控摄像头的视场角为60度~90度,如果监控场所有大范围的监控需求,通过多安装摄像头来实现监控区域的覆盖,无疑会增加摄像头的成本与安装成本,后端的显示与存储成本也会相应的增加。即便是球机可以通过云台实现360度全范围的监控,但却不能达到同时监控360度的范围。而且在实际应用中,多数球机都通过设置预置位对场景进行监控,难以避免重要事件被“漏控”的情况出现。因此,在监控摄像头市场成熟的情况下,客户会率先提出更高效率、更多功能、更具成本优势的需求。在全景摄像头中,鱼眼镜头是最早出现且技术最成熟简单的。一般监控摄像头的监控范围较小,若要实现大范围监控,则需要增加摄像头的数量,这无形中增加了成本。而鱼眼镜头的视场角为180度,甚至能达到230度,为人们建立体积最小、质量最轻、功耗最小、视场角最大的监控系统提供了可能性。常见的全景摄像头采用两个视场角超过180度的鱼眼镜头,经过处理得到最终的全景图,经过显示渲染,供用户自由选择观看位置。目前,通常采用特征提取、透视变换等方案用于实现图像的拼接过渡,但由于镜头的不完善和个体差异等因素,这种拼接方案往往会存在明显的拼接过度区域,同时导致拼接处的图像错位等问题。另外,高视场角的鱼眼镜头由于工艺问题,其内参和外参仅能保证图像中央有较好的矫正对齐效果,对于镜头的边缘图像效果则大大降低。技术实现要素:本发明要解决的技术问题是为了克服现有技术中对双鱼眼镜头拍摄的图像进行处理得到的全景图存在拼接错位的缺陷,提供一种能够实现无缝拼接的全景相机及其标定方法、全景图像的拼接方法及存储介质。本发明是通过下述技术方案来解决上述技术问题:本发明的第一方面提供一种全景相机的标定方法,所述全景相机包括第一鱼眼镜头和第二鱼眼镜头的全景相机,所述标定方法包括:获取所述第一鱼眼镜头针对标定板拍摄的第一图像,以及获取所述第二鱼眼镜头针对所述标定板拍摄的第二图像;按照经纬度分别展开所述第一图像和所述第二图像,得到对应的第一展开图像和第二展开图像;基于在所述标定板上选取的标定点对所述第二展开图像进行图像变形处理,以使得所述标定点在所述第一展开图像和所述第二展开图像中重合,其中,所述标定点位于所述第一展开图像和所述第二展开图像的重叠区域内;对所述第一展开图像和经过图像变形后的所述第二展开图像进行拼接,得到目标全景图像;计算所述第一图像和所述第二图像上各像素点与所述目标全景图像上各像素点之间的坐标映射关系。较佳地,所述按照经纬度展开所述第一图像和所述第二图像,得到对应的第一展开图像和第二展开图像,具体包括:将映射在单位球上的所述第一图像和所述第二图像上各像素点的坐标进行旋转,得到对应的第一展开图像和第二展开图像,其中,所述第一图像位于所述第一展开图像的中央,所述第二图像的左右半侧部分分别位于所述第二展开图像的左右边缘区域。较佳地,所述对所述第二展开图像进行图像变形处理,具体包括:利用移动最小二乘法对所述第二展开图像进行图像变形处理。较佳地,所述对所述第一展开图像和经过图像变形后的所述第二展开图像进行拼接,得到目标全景图像,具体包括:基于权重渐入渐出法对所述第一展开图像和经过图像变形后的所述第二展开图像进行拼接,得到目标全景图像。较佳地,所述第一鱼眼镜头和所述第二鱼眼镜头的视场角均大于180度。较佳地,所述标定板的数量为两个,两个标定板分别位于所述全景相机的两侧,且均垂直于所述全景相机的水平中轴线。本发明的第二方面提供一种全景图像的拼接方法,应用于包括第一鱼眼镜头和第二鱼眼镜头的全景相机,所述拼接方法包括:获取第一鱼眼镜头拍摄的第三图像,以及获取第二鱼眼镜头拍摄的第四图像;根据本发明第一方面所述的坐标映射关系将所述第三图像和所述第四图像进行拼接,得到全景图像。较佳地,所述拼接方法还包括:将所述全景图像贴于球体进行渲染。本发明的第三方面提供一种全景相机,包括第一鱼眼镜头、第二鱼眼镜头、存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的全景相机的标定方法,或者第二方面所述的全景图像的拼接方法。本发明的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的全景相机的标定方法,或者第二方面所述的全景图像的拼接方法。本发明的积极进步效果在于:与传统的鱼眼镜头矫正相比,本发明不再依赖鱼眼镜头的内参和外参,也不再使用基于特征点的透视变换,而是采用经纬度展开结合图像变形的方法实现了全景相机的标定,从而能够得到拼接更准确且无错位即无缝拼接的全景图像。附图说明图1为本发明实施例1提供的一种全景相机的标定方法的流程图。图2为本发明实施例1提供的一种标定场景的俯视示意图。图3为本发明实施例1提供的另一种标定场景的俯视示意图。图4为本发明实施例3提供的一种全景相机的结构示意图。具体实施方式下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。实施例1本实施例提供一种全景相机的标定方法,所述全景相机包括第一鱼眼镜头和第二鱼眼镜头的全景相机,如图1所示,所述标定方法包括:步骤s101、获取所述第一鱼眼镜头针对标定板拍摄的第一图像,以及获取所述第二鱼眼镜头针对所述标定板拍摄的第二图像。在可选的一种实施方式中,上述全景相机中第一鱼眼镜头和第二鱼眼镜头的视场角(fov,fieldofview)均大于180度。在一个具体的例子中,第一鱼眼镜头的视场角为190度,第二鱼眼镜头的视场角为200度。在另一个具体的例子中,第一鱼眼镜头和第二鱼眼镜头的视场角均为190度。在可选的一种实施方式中,所述标定板的数量为两个,两个标定板分别位于所述全景相机的两侧,且均垂直于所述全景相机的水平中轴线。如图2所示的例子中,全景相机包括第一鱼眼镜头31和第二鱼眼镜头32,标定板a和标定板b分别位于全景相机的两侧,其中,标定板a和标定板b上均为棋盘格。为了提高全景相机标定的准确度,在可选的一种实施方式中,在两个标定板中设置标定条带。如图3所示的例子中,标定条带由黑白相间的区域组成,全景相机位于标定条带上。步骤s102、按照经纬度分别展开所述第一图像和所述第二图像,得到对应的第一展开图像和第二展开图像。本实施方式中,第一图像和第二图像的尺寸相同,第一展开图像和第二展开图像的尺寸均为第一图像和第二图像的尺寸之和。在一个例子中,第一图像和第二图像均为正方形,具体尺寸为h*h,第一展开图像和第二展开图像均为长方形,长宽比为2:1,具体尺寸为h*2h。步骤s102中,按照球面贴图的思想分别将第一鱼眼镜头拍摄的第一图像和和第二鱼眼镜头拍摄的第二图像以球面形式展开,即将第一图像和第二图像上各像素点映射于单位球上。在一个具体的例子中,对于第一展开图像或第二展开图像上的某一像素点(i,j),其来源于单位球上的某一点p,映射关系如下:其中,θ是p点和球心的连线与z轴的夹角,是p点在xy平面上的投影点和球心的连线与x轴的夹角。相应地,p点的直角坐标系坐标为:z=cosθ在步骤s102可选的一种实施方式中,具体包括:将映射在单位球上的所述第一图像和所述第二图像上各像素点的坐标进行旋转,得到对应的第一展开图像和第二展开图像,其中,所述第一图像位于所述第一展开图像的中央,所述第二图像的左右半侧部分分别位于所述第二展开图像的左右边缘区域。在具体实施中,根据设定的经度对映射在单位球上的坐标进行旋转以达到所述第一图像位于所述第一展开图像的中央,且所述第二图像的左右半侧部分分别位于所述第二展开图像的左右边缘区域的效果。在一个具体的例子中,设定符合右手的坐标系,且z轴指向单位球体的北极方向,引入旋转矩阵m为第一图像和第二图像设定不同的经度。其中,m=mz*my*mx;旋转后p点的坐标为:[xnew,ynew,znew]′=m*[x,y,z]′;未旋转时,mz、my、mx分别为3*3的单位矩阵,即令:mz(0,0)=cos(anglez);mz(0,1)=sin(anglez);mz(1,0)=-sin(anglez);mz(1,1)=cos(anglez);my(0,0)=cos(angley);my(0,2)=sin(angley);my(2,0)=-sin(angley);my(2,2)=cos(angley);mx(1,1)=cos(anglex);mx(1,2)=sin(anglex);mx(2,1)=-sin(anglex);mx(2,2)=cos(anglex);其中,将第一图像对应的旋转角度分别设为:anglez=0,angley=π/2,anglex=-π/2,以实现第一图像位于所述第一展开图像的中央的效果,将第二图像对应的旋转角度分别设为:anglez=0,angley=-π/2,anglex=-π/2,以实现第二图像的左右半侧部分分别位于所述第二展开图像的左右边缘区域。需要说明的是,通过设定不同的坐标系以及不同的旋转角度也能达到所述第一图像位于所述第一展开图像的中央,且所述第二图像的左右半侧部分分别位于所述第二展开图像的左右边缘区域的效果。在另一个具体的例子中,设定符合左手的坐标系或者z轴指向单位球体的非北极方向,引入旋转矩阵m为第一图像和第二图像设定不同的纬度,通过分别对x轴、y轴、z轴设定不同的旋转角度得到对应的第一展开图像和第二展开图像。本实施方式中,旋转后的p点对应来源于第一图像或第二图像上的某一点q(u,v),采用等距投影模型,以上半球为例:v=r′*sin(fi′)+h/2;步骤s103、基于在所述标定板上选取的标定点对所述第二展开图像进行图像变形处理,以使得所述标定点在所述第一展开图像和所述第二展开图像中重合,其中,所述标定点位于所述第一展开图像和所述第二展开图像的重叠区域内。本实施方式中,从第一展开图像和第二展开图像的重叠区域内选取标定点,将标定点在第二展开图像上的坐标映射至该标定点在第一展开图像上的坐标。其中,选取的标定点越多,全景相机的标定结果越准确。在步骤s103可选的一种实施方式中,利用移动最小二乘法(mls,movingleastsquare)对所述第二展开图像进行图像变形处理。步骤s104、对所述第一展开图像和经过图像变形后的所述第二展开图像进行拼接,得到目标全景图像。在步骤s104可选的一种实施方式中,基于权重渐入渐出法对所述第一展开图像和经过图像变形后的所述第二展开图像进行拼接,得到目标全景图像。步骤s105、计算所述第一图像和所述第二图像上各像素点与所述目标全景图像上各像素点之间的坐标映射关系。在具体实施中,可以将坐标映射关系存储于lut(look-up-table,显示查找表)中,在后续实际使用全景相机时通过查找lut可以得到全景图像。其中,所述坐标映射关系中还包括第一图像上像素点的权重和第二图像上像素点的权重,其中,两个权重之和为1。在一个例子,在全景图像的像素点(2,3)对应第一图像上像素点的权重为1,第二图像上像素点的权重为0。在另一个例子中,全景图像的像素点(4,5)对应第一图像上像素点的权重为0.3,第二图像上像素点的权重为0.7。与传统的鱼眼镜头矫正相比,本实施方式不再依赖鱼眼镜头的内参和外参,也不再使用基于特征点的透视变换,而是采用经纬度展开结合图像变形的方法实现了全景相机的标定,从而能够得到拼接更准确且无错位即无缝拼接的全景图像。实施例2本实施例提供一种全景图像的拼接方法,应用于包括第一鱼眼镜头和第二鱼眼镜头的全景相机,所述拼接方法包括:步骤s201、获取第一鱼眼镜头拍摄的第三图像,以及获取第二鱼眼镜头拍摄的第四图像。在可选的一种实施方式中,上述全景相机中第一鱼眼镜头和第二鱼眼镜头的视场角均大于180度。在一个具体的例子中,第一鱼眼镜头的视场角为190度,第二鱼眼镜头的视场角为200度。在另一个具体的例子中,第一鱼眼镜头和第二鱼眼镜头的视场角均为190度。步骤s202、根据实施例1得到的坐标映射关系将所述第三图像和所述第四图像进行拼接,得到全景图像。在一个利用全景相机进行监控的场景中,将第一鱼眼镜头和第二鱼眼镜头拍摄的图像进行拼接可以得到监控的全景图像。本实施方式中,利用实施例1中对全景相机进行标定得到的坐标映射关系,对两个鱼眼镜头拍摄的图像进行拼接,能够得到拼接更准确且无错位即无缝拼接的全景图像,提升了用户使用全景相机的体验。在可选的一种实施方式中,上述拼接方法还包括:步骤s203、将所述全景图像贴于球体进行渲染。在具体实施中,可以使用opengl(opengraphicslibrary,开放图形库)对全景图像进行渲染。另外,通过设置投影视角可得到需要的全景图像。实施例3图4为本实施例提供的一种全景相机的结构示意图。所述全景相机包括第一鱼眼镜头、第二鱼眼镜头、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1的标定方法或者实施例2的全景图像的拼接方法。图4显示的全景相机3仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。全景相机3可以以通用计算设备的形式表现,例如其可以为服务器设备。全景相机3的组件可以包括但不限于:上述至少一个处理器4、上述至少一个存储器5、连接不同系统组件(包括存储器5和处理器4)的总线6。总线6包括数据总线、地址总线和控制总线。存储器5可以包括易失性存储器,例如随机存取存储器(ram)51和/或高速缓存存储器52,还可以进一步包括只读存储器(rom)53。存储器5还可以包括具有一组(至少一个)程序模块54的程序/实用工具55,这样的程序模块54包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。处理器4通过运行存储在存储器5中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1的标定方法或实施例2的全景图像的拼接方法。全景相机3也可以与一个或多个外部设备7(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口8进行。并且,全景相机3还可以通过网络适配器9与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图4所示,网络适配器9通过总线6与全景相机3的其它模块通信。应当明白,尽管图中未示出,可以结合全景相机3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。应当注意,尽管在上文详细描述中提及了全景相机的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。实施例4本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1的标定方法或实施例2的全景图像的拼接方法的步骤。其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1的标定方法或实施例2的全景图像的拼接方法的步骤。其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1