一种全景图像的制作方法与流程

文档序号:13453943阅读:1619来源:国知局

本发明涉及图像处理技术领域,特别涉及一种全景图像的制作方法。



背景技术:

全景图像一般都是由多张图像拼接出来的,现有的全景图像的制作过程大多是通过软件自动生成的的,但是由于软件本身的漏洞以及智能效果低下所以自动生成的全景图像在拼接处会有很多的瑕疵,因为拼接的全景照片可能会有因为景深不同或者标定误差问题导致拼接处有错位,导致整张全景图像效果差,实用性不强。



技术实现要素:

为了解决现有的全景图像处理效果不理想的问题,本发明提供一种操作简单、处理效果好的全景图像的制作方法。

为了实现上述目的,本发明提供的技术方案是:一种全景图像的制作方法,包括以下步骤:a)将至少两张初始图像通过gpu计算从而生成相应的映射表;b)通过映射表计算该图像每个像素的影响权重,从而生成影响权重表;c)通过映射表生成至少两张初级全景图像;d)利用影响权重表混合初级全景图像生成最终的全景图像。

作为与优选的技术方案,所述用于生成全景图像的初始图像的数量为四张,,且四张图像在同一位置拍摄而成,相邻两张图像之间的拍摄角度相差80度至90度。

进一步的,所述影响权重表中的数据包括每个像素距离该图像中心位置的水平距离,根据权重值,来计算对应像素点的颜色。

作为进一步的技术方案,所述映射表和影响权重表储存在显存中。

进一步的,所述映射表通过相机的畸变参数生成。

本发明相对于现有技术的有益效果是:该全景图像的制作方法通过将多张图像利用着色器进行计算处理后合成一张全景图,操作简单方便,而且由于经过精确的计算,所以处理后的图像拼接效果好。

附图说明

图1是本发明的流程图;

图2-5是本发明的图像处理前的原图;

图6-9是本发明的图像是原图经过映射公式展开的图像;

图10-13是本发明的影响权重表图像;

图14是本发明合成后的图像。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,一种全景图像的制作方法,该全景图像通过四张图像处理而来,该四张图像通过四个广角镜头拍摄而来,这四个广角镜头在同一位置且每两个之间相差80°至90°之间,作为优选的,在本实施例中采用90°设置,将四个镜头拍摄出来的图像导入计算机,处理过程如下:

s11:初始化opengl运行状态,分配内存和显存资源,加载着色器程序;

s12:获取全景相机的畸变参数;每一个相机的畸变参数在相机出厂时就已经产生,只需将该参数数据导入该程序即可,该参数包括径向畸变系数和切向畸变参数;径向畸变发生在相机坐标系转图像物理坐标系的过程中,而切向畸变是发生在相机制作过程。

s13:在显卡内运行着色器程序,根据畸变参数生成全景图像的映射表;

根据最后生成全景图像的高度和宽度,在显卡内创建同样大小的映射表格,表格的每个元素都会运行一次着色器程序,着色器程序计算出四个源图像的一个位置,后面的程序会通过查表方式取四个源图像的四个像素颜色值进行混合,这四个位置都会保存在映射表内。

举例:假设全景图大小为7680x3840,四张源图每张图像的大小为4608x3456。则映射表的大小为7680x3840,每个元素保存了八个短整型数据,,例如某个元素内值为(2031,1023,4011,2111,3241,2145,2344,3120),则表示分别从第一张源图像的第2031行第1023列的像素位置处取出第一个颜色值,从第二张源图像的第4011行第2111列的像素位置处取出第二个颜色值,从第三张源图像的第3241行第2145列的像素位置处取出第三个颜色值,从第四张源图像的第2344行第3120列的像素位置处取出第四个颜色值。

对于着色器程序,如果全景图大小为7680x3840,则会运行7680x3840次着色器,计算出映射表内每个像素元素的内容。

着色器求解的过程,则是通过每台相机的三个畸变参数以及所拍照片相机的中心位置处计算得出,具体公式为(0.5*width+dr*px/r+xoff,0.5*height+r*py/r+yoff)其中,width为图像宽度,height为图像高度;px表示正在运行着色器的像素所在位置与鱼眼图像中心的水平位置的偏差;py表示正在运行着色器的像素所在位置与鱼眼图像中心的垂直位置的偏差;dr为校正后的圆周鱼眼图像的半径,通过三个畸变参数(a,b,c)求解得出;r为原图中拍照所形成圆圈的半径大小;xoff、yoff分别表示镜头位置的偏移。

实现过程如下,首先四张源图如图2-5所示,然后根据映射表展开四张图,得到如图6-9所示。

s14:根据映射表计算四个广角镜头对全景图像每个像素的影响权重,并将其保存为影响权重表;影响权重用来计算每个镜头的中心在全景图的位置,计算每个像素距离镜头中心位置的水平距离,距离越远权重值越低,根据权重值,来计算对应像素点颜色,用于优化拼接接缝处的色差,改善拼接效果;其中四个像素的权重值之和必须为1.0。

每张展开的图像计算出每个像素距离中心位置的距离来得出混合权重百分比,算出的四张权重表,如图10-13所示;

s15:将生成的影响权重表和映射表上传至显存;

s16:通过显存内的映射表生成四张初级全景图像,每张初级全景图像只包含一张源图像的图像内容;

s17:通过显存内的影响权重表混合四张初级全景图像得到最终的全景图像;

最后进行混合,结果如图14所;

s18:修正结束,导出图像文件,关闭程序,释放程序运行过程中分配的显存和内存资源。

以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。



技术特征:

技术总结
本发明公开了一种全景图像的制作方法,包括以下步骤:a)生成全景图像,将至少两张初始图像通过GPU计算从而生成相应的映射表,然后通过映射表计算该图像每个像素的影响权重,从而生成影响权重表,再通过映射表生成至少两张初级全景图像,最后利用影响权重表混合初级全景图像生成最终的全景图像;该全景图像的制作方法通过将多张图像合成一张全景图像呈现在一个球形的三维坐标中,形象生动,需要修改时,只需手动通过鼠标拖动其中一个图像进行拼接即可,操作简单,效果好。

技术研发人员:包谦
受保护的技术使用者:包谦
技术研发日:2017.08.25
技术公布日:2018.01.16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1