一种全景图像生成方法、装置、终端设备及存储介质与流程

专利2024-03-22  104



1.本发明涉及图像处理技术领域,尤其涉及一种全景图像生成方法、装置、终端设备及存储介质。


背景技术:

2.随着科技的不断发展,拍摄设备的功能也日益丰富。为了拍摄720度的全景照片,相应设计出了一种特殊的全景拍摄设备。
3.在相关技术中,全景拍摄设备一般搭载多颗摄像头,这些摄像头朝向不同的取景方向,并拍摄不同取景方向的多张图像,通过不同方向的多张图像合成出720度的全景照片。并且,由于不同全景拍摄设备的镜头数量不同、设备参数不同,还需要搭配特定的全景合成算法,以将特定全景拍摄设备拍摄的多张图像合成为全景照片。
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.重叠区域子模块,用于确定所述二维平面中相邻目标图像之间的重叠区域;
48.缝合线子模块,用于基于逐点法、动态规划法和图割法中任一种方法,从所述重叠区域中确定所述相邻目标图像对应的目标缝合线。
49.可选地,所述位置调整模块包括:
50.区域图像子模块,用于将所述目标缝合线周围预设范围内的区域确定为目标区域,获取所述相邻目标图像在所述目标区域中各自的区域图像;
51.位置调整子模块,用于基于所述区域图像计算所述相邻目标图像之间的单应性矩阵,并根据所述单应性矩阵,调整所述相邻目标图像在所述二维平面中的相对位置。
52.可选地,所述融合模块包括:
53.权重子模块,用于确定所述二维平面中调整相对位置后的各个相邻目标图像之间的重叠区域中,每个目标图像的各个像素对应的像素权重;
54.融合子模块,用于基于所述像素权重,对调整相对位置后的各个相邻目标图像之间的重叠区域中相同像素位置的像素进行融合,得到全景图像。
55.可选地,所述像素权重包括第一权重和第二权重,所述权重子模块包括:
56.第一权重子模块,用于基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,相同像素位置的像素与目标图像中心位置的距离,确定所述像素对应的第一权重;
57.第二权重子模块,用于基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,各个像素的灰度值,确定所述像素对应的第二权重。
58.第三方面,本发明实施例另外提供了一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前第一方面所述的全景图像生成方法的步骤。
59.第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前第一方面所述的全景图像生成方法的步骤。
60.在本发明实施例中,获取目标摄像头在多个预设位姿下拍摄的多张目标图像;其中,预设位姿与目标图像一一对应;根据目标图像对应的预设位姿,将目标图像排布至二维平面中的对应位置处;确定二维平面中相邻目标图像对应的目标缝合线;基于目标缝合线调整相邻目标图像在二维平面中的相对位置;基于调整后的相对位置对二维平面中的目标图像进行融合,得到全景图像。因此,能够通过单一摄像头在多个预设位姿下拍摄多张目标图像,并基于目标图像之间的缝合线对目标图像之间的相对位置进行调整,使目标图像之
间的内容对齐程度更高,再对目标图像进行融合得到全景图像,不仅可以有效降低全景拍摄设备的生产制造成本,降低了用户拍摄全景照片的成本,还能提高全景图像的生成效果。
61.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
62.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
63.图1是本发明实施例提供的一种全景图像生成方法的步骤流程图;
64.图2是本发明实施例提供的一个目标图像示意图;
65.图3是本发明实施例提供的另一个目标图像示意图;
66.图4是本发明实施例提供的相邻目标图像示意图;
67.图5是本发明实施例提供的另一种全景图像生成方法的具体步骤流程图;
68.图6是本发明实施例提供的一种全景图像生成装置的结构示意图;
69.图7是本发明实施例提供的一种终端设备的硬件结构示意图。
具体实施方式
70.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
71.实施例一
72.详细介绍本发明实施例提供的一种全景图像生成方法。
73.参照图1,示出了本发明实施例提供的一种全景图像生成方法的步骤流程图。
74.步骤101,获取目标摄像头在多个预设位姿下拍摄的多张目标图像。
75.其中,所述预设位姿与所述目标图像一一对应。
76.在本发明实施例中,目标摄像头可以是移动终端上搭载的摄像头,例如手机上搭载的摄像头、笔记本电脑上搭载的摄像头、相机上搭载的摄像头等;目标摄像头也可以是搭载在云台上的摄像头,例如,固定云台上搭载的摄像头、无人机云台上搭载的摄像头等。
77.为了提高全景照片的拍摄效果,并使合成全景照片所需的图像较少,在本发明实施例中,目标摄像头可以优选搭载鱼眼镜头的鱼眼摄像头、搭载广角镜头的广角摄像头等取景范围较大的摄像头,以使目标摄像头拍摄的图像具有较大的取景范围,可以通过数量较少的图像进行全景照片合成,可以减少全景照片合成所需的运算量,有助于提升全景照片合成的速度。
78.其中,鱼眼镜头一般指焦距为16mm或更短,且视角接近或超过180
°
的镜头。它是一种极端的广角镜头,“鱼眼镜头”是它的俗称。为使镜头达到最大的摄影视角,这种摄影镜头
的前镜片直径很短且呈抛物状向镜头前部凸出,与鱼的眼睛颇为相似。
79.在本发明实施例中,可以对目标摄像头进行预先标定,得到多个预设位姿,该预设位姿是指预设的相机位姿,其中,相机位姿也可称为相机外参,通过相机外参,可以对摄像头的拍摄姿态进行校准和设定。需要说明的是,上述多个预设位姿中每个预设位姿的取景范围相加,可以覆盖目标摄像头周围的全部取景范围。
80.可以控制目标相机,使目标相机的位姿达到一个预设位姿,并拍摄该预设位姿对应的一张目标图像,再使目标相机的位姿达到下一个预设位姿,并拍摄该预设位姿对应的一张目标图像,如此重复,直至使目标相机在每个预设位姿拍摄到对应的目标图像,得到每个预设位姿对应的目标图像。
81.步骤102,根据所述目标图像对应的预设位姿,将所述目标图像排布至二维平面中的对应位置处。
82.由于各个目标图像是目标摄像头在不同位姿下拍摄的图像,为了将目标图像拼接成全景图像,需要按照一定的顺序排列目标图像,使每个目标图像的内容可以与相邻目标图像对应。因此,在本发明实施例中,还可以预先设定各个预设位姿在二维平面中对应的预设位置,该预设位置用于指示预设位姿对应的目标图像在拼接时需要在全景画布中的摆放位置。
83.举例来说,如果目标摄像头在预设位姿a拍摄了目标图像b后,向右转动达到预设位姿b,并在预设位姿b拍摄目标图像b,再向上转动达到预设位姿c,并在预设位姿c拍摄目标图像c,则将目标图像a、b、c排布在二维平面中时,各个目标图像之间的位置关系为:目标图像b在目标图像a的右侧,目标图像c在目标图像b的上方。
84.需要说明的是,对于预设位姿的设置,根据预设位姿拍摄到的取景范围相邻的两张目标图像之间,可以存在取景范围的重叠区域,以便取景范围相互重叠的区域进行后期的图像合成,因此,对于预设位置的设置,将目标图像按照预设位置布置在二维平面上之后,相邻目标图像之间的取景范围重叠区域对应的图像内容可以相互重叠,以便后期根据相邻目标图像之间的相同图像内容进行图像合成。
85.参照图2至图4,图2示出了本发明实施例提供的一个目标图像示意图,图3示出了本发明实施例提供的另一个目标图像示意图,图4示出了本发明实施例提供的相邻目标图像示意图,一个目标图像如图2所示,另一个目标图像如图3所示,由于这两个目标图像在取景范围上相邻,因此,将这两个目标图像排布在二维平面后,可以形成如图4所示的一对相邻目标图像,
86.步骤103,确定所述二维平面中相邻目标图像对应的目标缝合线。
87.相邻目标图像是指在二维平面中具有相邻关系的两张目标图像,举例来说,如果二维平面中并排分布了四张目标图像(目标图像a、目标图像b、目标图像c和目标图像d),则目标图像a和目标图像b为一对相邻目标图像,目标图像b和目标图像c为一对相邻目标图像,目标图像c和目标图像d为一对相邻目标图像,且这对相邻目标图像之间形成重叠区域40。
88.在一种实施方式中,如果相邻目标图像之间不存在重叠区域,即相邻目标图像以边缘对齐的方式分布在二维平面中,则此时可以将相邻目标图像之间相互对齐的边缘作为该对相邻目标图像的目标缝合线。
89.在另一种实施方式中,如果相邻目标图像之间存在内容相同的重叠区域,则可以从该重叠区域中寻找拼接效果最好的目标缝合线。在本发明实施例中,可以采用逐点法、动态规划法和图割法等方法确定拼接效果最好的目标缝合线。
90.需要说明的是,对于二维平面中的每一对相邻目标图像,均可以采用上述方法确定其对应的目标缝合线,得到二维平面中所有相邻目标图像对应的目标缝合线。延续上述示例,对于二维平面中并排分布的四张目标图像,可以获取目标图像a和目标图像b对应的目标缝合线a、目标图像b和目标图像c对应的目标缝合线b、目标图像c和目标图像d对应的目标缝合线c。
91.步骤104,基于所述目标缝合线调整所述相邻目标图像在所述二维平面中的相对位置。
92.由于存在各种细微的环境扰动和硬件误差,例如轻微震动、摄像头安装误差等因素,导致目标摄像头难以在绝对精准的预设位姿拍摄目标图像,因此,将目标图像按照对应预设位置排布在二维平面之后,相邻目标图像的相同画面部分难以准确重叠对齐,导致相邻目标图像中的相同景物在位置上会存在偏差。因此,在确定出所有相邻目标图像对应的目标缝合线后,可以基于目标缝合线调整对应的相邻目标图像在二维平面中的相对位置关系,对二维平面中的目标图像排布位置进行优化,使相邻目标图像在对应目标缝合线附近的相同画面可以更好重叠对齐,从而提高后续目标图像融合时的准确性,得到效果更好的全景图像。
93.具体地,可以获取相邻目标图像中每张目标图像在目标缝合线附近的两张待匹配图像,其中一个待匹配图像对应上述相邻目标图像中的一个目标图像,并确定两张待匹配图像在二维平面中的相对距离和相对方向,根据该相对距离和相对方向,移动上述相邻目标图像中的一个目标图像,以调整上述相邻目标图像之间的相对位置关系,使上述相邻目标图像的待匹配图像精确重叠对齐。
94.需要说明的是,需要采用上述方法对二维平面中所有对相邻目标图像之间的相对位置关系进行调整,以使二维平面中所有相邻目标图像在对应目标缝合线附近的图像内容可以相互重叠对齐。
95.步骤105,基于调整后的相对位置对所述二维平面中的目标图像进行融合,得到全景图像。
96.在基于目标缝合线调整相邻目标图像在二维平面中的相对位置之后,可以基于调整后的相对位置对二维平面中排布的相邻目标图像进行融合,以得到全景图像。
97.具体地,对于相邻目标图像的图像重叠区域,可以将相同像素位置的像素进行融合,得到重叠区域对应的全景图像内容,对于目标图像中不与其他目标图像重叠的图像区域,可以直接作为全景图像的图像内容。
98.综上所述,本发明提出的全景图像生成方法,获取目标摄像头在多个预设位姿下拍摄的多张目标图像;其中,预设位姿与目标图像一一对应;根据目标图像对应的预设位姿,将目标图像排布至二维平面中的对应位置处;确定二维平面中相邻目标图像对应的目标缝合线;基于目标缝合线调整相邻目标图像在二维平面中的相对位置;基于调整后的相对位置对二维平面中的目标图像进行融合,得到全景图像。因此,能够通过单一摄像头在多个预设位姿下拍摄多张目标图像,并基于目标图像之间的缝合线对目标图像之间的相对位
置进行调整,使目标图像之间的内容对齐程度更高,再对目标图像进行融合得到全景图像,不仅可以有效降低全景拍摄设备的生产制造成本,降低了用户拍摄全景照片的成本,还能提高全景图像的生成效果。
99.实施例二
100.详细介绍本发明实施例提供的一种全景图像生成方法。
101.参照图5,图5中示出了本发明实施例提供的另一种全景图像生成方法的具体步骤流程图,可以包括以下步骤:
102.步骤201,获取所述目标摄像头在固定位置处拍摄的多张不同取景角度的标定图像。
103.在通过目标摄像头拍摄用于合成全景图像的目标图像之前,可以对目标摄像头进行标定,以确定目标摄像头对应的多个预设位姿。
104.具体地,可以将目标摄像头设置在标定空间中,并多次调整目标摄像头的取景位姿,使目标摄像头调整到的所有取景位姿的取景范围相加,可以完整覆盖当前标定空间中的所有景物。并在每个取景位姿下通过目标摄像头拍摄标定图像,得到内容可以覆盖标定空间中所有景物的多张标定图像。其中,标定空间中的被摄景物可以具有较为丰富的纹理特征,便于后续标定。
105.步骤202,根据所述标定之间的内容关联关系,确定所述标定图像的分别对应的拍摄位姿。
106.由于全部标定图像的景物可以覆盖标定空间中所有取景范围的景物,因此,各个标定图像中的内容存在关联关系,可以根据标定图像的内容确定各个标定图像对应的拍摄位姿之间的位姿差异,从而根据该位子差异计算出各个标定图像对应的拍摄位姿。
107.需要说明的是,上述拍摄位姿即目标摄像头在拍摄标定图像时的相机外参,也即标定图像的图像外参。
108.步骤203,对所述拍摄位姿进行非线性优化,得到预设位姿。
109.在得到各个标定图像对应的拍摄位姿后,可以采用非线性优化的方法优化上述拍摄位姿,得到对应的预设位姿。具体地,可以采用列文伯格-马夸尔特(levenberg-marquardt,l-m)算法对每个标定图像对应的拍摄位姿进行非线性优化,得到多个预设位姿。
110.在本发明实施例中,目标摄像头可以是搭载鱼眼镜头的鱼眼摄像头,由于鱼眼摄像头的特性所致,拍摄到的标定图像会存在较为严重的图像畸变,导致根据标定图像的内容关联关系计算出的拍摄位姿会存在误差,因此,采用非线性优化的方式对各个标定图像对应的拍摄位姿进行优化,可以提高标定得到的预设位姿的准确性。
111.步骤204,获取目标摄像头在多个预设位姿下拍摄的多张目标图像;其中,所述预设位姿与所述目标图像一一对应。
112.在本发明实施例中,由于目标摄像头可以是移动终端上搭载的摄像头,因此,在一种实施方式中,在用户通过移动终端拍摄全景照片时,可以根据每个预设位姿在移动终端上生成对应的提示信息,使用户将移动终端的位姿调整到每个预设位姿,并在移动终端达到预设位姿时提醒用户拍摄图像或自动拍摄图像。从而获得目标摄像头在多个预设位姿下拍摄的多张目标图像。
113.在另一种实施方式中,用户可以在连续调整移动终端的朝向,例如在水平方向横向转动移动设备一周,并在垂直方向纵向转动移动设备一周,使移动终端搭载的目标摄像头扫过周围的全部取景角度,与此同时,可以检测移动终端的位姿信息,在移动终端每次到达一个预设位姿时,拍摄一张目标图像,从而获取到目标摄像头在多个预设位姿下拍摄的多张目标图像。
114.在本发明实施例中,由于目标摄像头也可以是搭载在云台上的摄像头,例如,固定云台上搭载的摄像头、无人机云台上搭载的摄像头等。因此,在需要拍摄全景照片时,还可以控制云台进行运动,使云台上搭载的目标摄像头达到每个预设位姿,并在每个预设位姿自动拍摄一张目标图像,从而获取到目标摄像头在多个预设位姿下拍摄的多张目标图像。
115.步骤205,根据所述目标图像对应的预设位姿,将所述目标图像排布至二维平面中的对应位置处。
116.可选地,步骤205可以进一步包括:
117.子步骤2051,基于所述预设位姿,将所述目标图像投影至三维球面坐标系中,得到三维球面图像。
118.在本发明实施例中,由于全景图像本质上记录的是目标摄像头周围的球面取景范围内的影像,根据目标图像在球面取景范围内取景位置的不同,其在平面全景图像中的形变量也各不相同。例如,地球仪表面的图案可以看做一个球面取景范围内的影像,如果要将地球仪表面的图案展开为二维平面的世界地图,则根据地球仪表面的图案在地球仪表面上经纬度的不同,其展开过程中形变比例也不同,即,需要根据地球仪表面上的各点按照其所对应的经纬度,映射到二维平面中,以得到准确的二维平面世界地图。
119.因此,在本发明实施例中,在将目标图像排布在二维平面中之前,首先需要根据目标图像对应的预设位姿,将目标图像投影至三维球面坐标系中,使目标图像在三维球面坐标系中形成覆盖整个球面,得到三维球面图像。
120.子步骤2052,根据所述目标图像在所述三维球面坐标系中所处的经纬度,将所述目标图像投影至二维平面中。
121.在本发明实施例中,可以预先设置三维球面坐标系中的经纬度与二维平面中坐标点的映射关系,并基于该映射关系将三维球面坐标系中各个点的像素投影至二维平面中。
122.此外,目标摄像头可以是搭载鱼眼镜头的鱼眼摄像头,鱼眼摄像头拍摄的图像通常并不是规则的矩形图像,而是类圆形的图像,为了便于将鱼眼摄像头拍摄到的目标图像拼接为全景图像,上述映射关系可以设置为能够使目标图像投影至二维平面后呈现矩形样式。
123.在本发明实施例中,可以将目标图像先投影至三维球面坐标系中,再根据目标图像在三维球面坐标系中的经纬度将目标图像映射至二维平面中,使得基于目标图像合成的全景图像各处的图案符合真实环境的位置关系,提高了全景图像的合成效果。
124.步骤206,确定所述二维平面中相邻目标图像对应的目标缝合线。
125.可选地,步骤206可以进一步包括:
126.子步骤2061,确定所述二维平面中相邻目标图像之间的重叠区域。
127.由于每次获取全景照片时,拍摄到的多张目标图像均对应相同的多个预设位姿,导致每次根据预设位姿将多个目标图像排布至二维平面中时,相同预设位姿对应的目标图
像在二维平面中的位置固定,使得二维平面中相邻目标图像会在二维平面中的固定区域产生重叠。
128.因此,可以根据多个预设位姿预先从二维平面中确定出每组相邻目标图像会发生重叠的预设区域。在将多张目标图像排布在二维平面后,读取每组目标图像对应的预设区域,并基于该预设区域确定二维平面中相邻目标图像之间的重叠区域。
129.子步骤2062,基于逐点法、动态规划法和图割法中任一种方法,从所述重叠区域中确定所述相邻目标图像对应的目标缝合线。
130.基于动态规划法从相邻图标图像的重叠区域中确定目标缝合线可以包含以下步骤:
131.可以采用以下公式1示出的误差函数计算相邻目标图像之间的误差。
132.e=||i1,i2||
ꢀꢀꢀꢀꢀꢀꢀ
公式1
133.其中,e是相邻目标图像的重叠区域中,相同位置的各目标图像的之间的误差;i1,i2分别表示相邻目标图像各自的重叠图像;||表示范数。
134.采用以下公式2对重叠区域中每一列的各个像素位置进行遍历,并计算各个像素位置对应的累计最小误差。具体地,可以采用以下公式进行计算:
135.e
i,j
=e
i,j
+min(e
i-1,j-1
,e
i-1,j
,e
i-1,j+1
)
ꢀꢀꢀꢀꢀꢀꢀ
公式2
136.其中,ei,j为所有可能到达当前像素位置(i,j)的路径的累积最小误差,ei,j为重叠区域中某个像素位置处,相邻目标图像各自的像素之间的误差表面函数,e
i-1
,j-1
为当前像素位置的左上方像素位置的累计最小误差,e
i-1
,j为当前像素位置的正上方像素位置的累计最小误差,e
i-1,j+1
为当前像素位置的右上方像素位置的累计最小误差。
137.当遍历重叠区域的所有列后,将所有列中最后一行的像素位置对应的e为最小值的列,确定为目标缝合线。
138.在本发明实施例中,通过使用动态规划法从相邻目标图像的重叠区域中确定的目标缝合线,提高了全景图像合成的速度,并且,该目标缝合线属于相邻目标图像的最优缝合线,在该目标缝合线位置处,相邻目标图像之间的差异较小,有助于提高后续生成的全景图像的效果。
139.在本技术实施例中,除上述动态规划法之外,还可以通过逐点法或图割法确定目标缝合线。基于逐点法从相邻图标图像的重叠区域中确定目标缝合线时,可以将上述动态规划法之中的公式1示出的误差函数替换为如下公式3示出的误差函数,以调整对e
i,j
的计算方法。
[0140][0141]
其中,e同样表示相邻目标图像的重叠区域中,相同位置的各目标图像的之间的误差;p和q表示重叠区域中相邻的两个像素位置;在采用上述公式3确定相邻目标图像之间的误差时,上述公式2中的e
i,j
为重叠区域中像素位置p处,一个目标图像的像素i和另一个目标图像的像素j之间的误差,或为重叠区域中像素位置q处,一个目标图像的像素i和另一个目标图像的像素j之间的误差。
[0142]
图割法的主要思想是将每个目标图像都看作是一个有向图g={v,e},其中,v表示节点,e表示边,节点可以分为普通节点和终端节点,目标图像的像素可以作为普通节点,目
标图像中多个普通节点的聚类结果可以看成是终端节点,例如,如果一个图像具有两个终端节点s和t,则图割法能够将该图像分割成两类s和t(即目标缝合线的两侧的图像);边是指的是各个节点之间的连接,对于普通节点而言,只有与其相邻的普通节点可以与之连接形成边,该边可以称为n-links,而所有普通节点都可与对应的终端节点之间连接,形成边,该边可以称为t-links。在本技术实施例中,图割法可以为boykov—kolmogorov最大流图割法,采用最大流图割法可以确定出目标图像中的哪些节点属于终端节点s,则其余的节点可以确定为普通节点,从而为每一个普通节点寻找一个终端节点,使目标图像中的所有普通节点,即像素点分成两个部分,其中的分隔位置即为目标缝合线。
[0143]
具体地,可以以终端节点s和t为树根,建立终端节点s和t与各个普通节点的连接,得到的两棵搜索树s和t,可以通过“生长阶段”、“增广阶段”、“收养阶段”不停循环迭代完成搜索树的建立。在生长阶段,搜索树s和t的生长,直到两棵树生长到了一起,形成了从s到t的通路。在增广阶段,上述通路被增广,使相连的两棵树又重新分开。在该阶段,搜索树s和t收纳上传增广阶段产生的孤立节点。结束时,搜索树s和t会将重叠区域划分为两块,这两块之间的接缝即为目标缝合线。
[0144]
步骤207,基于所述目标缝合线调整所述相邻目标图像在所述二维平面中的相对位置。
[0145]
可选地,步骤207可以进一步包括:
[0146]
子步骤2071,将所述目标缝合线周围预设范围内的区域确定为目标区域,获取所述相邻目标图像在所述目标区域中各自的区域图像。
[0147]
在确定出相邻目标图像之间的目标缝合线后,可以基于目标缝合线获取目标区域,并基于目标区域调整该相邻目标图像之间的相对位置,使相邻目标图像各自的图像内容在该目标缝合线附近精确对齐。
[0148]
具体地,可以预先设置用于对目标缝合线进行扩展的预设范围,例如,预设范围可以是10个像素长度,则可以将目标缝合线两侧10个像素宽度的剧情区域确定为目标区域。
[0149]
在得到目标区域后,获取相邻目标图像各自在该目标区域中的区域图像,得到两个区域图像。
[0150]
子步骤2072,基于所述区域图像计算所述相邻目标图像之间的单应性矩阵,并根据所述单应性矩阵,调整所述相邻目标图像在所述二维平面中的相对位置。
[0151]
在得到相邻目标图像对应的两个区域图像后,可以计算该两个区域图像之间的单应性矩阵,并根据上述单应性矩阵对调整相邻目标图像在二维平面中的相对位置。具体地,上述计算单应性矩阵和调整相对位置的方法可以通过光流法(optical flow methods)或特征点法进行实现。其中,光流法或特征点发可以利用两个区域图像之间的像素的变化情况和相关性,确定出两个区域图像中的图像内容之间的偏移量。进而可以根据上述偏移量调整相邻目标图像之间的相对位置关系。
[0152]
单应性矩阵是射影几何中的概念,通过单应性矩阵,可以描述两个图像之间的映射关系,单应性矩阵是关于三维齐次矢量的一种线性变换,可以用单应矩阵h(3
×
3的非奇异矩阵)来表示。
[0153]
具体地,可以从相邻目标图像的重叠区域中提取出多组匹配特征点,通过多组匹配特征点之间的位置关系,构建对应的非线性方程,将该非线性方程输入列文伯格-马夸尔
特算法或其他可用于计算单应性矩阵的算法中,得到相邻目标图像之间的单应性矩阵,通过单应性矩阵进行分解,可以得到旋转矩阵和平移向量,由于旋转矩阵可用于描述相邻目标图像的图像内容之间的旋转变化量,平移向量可用于描述相邻目标图像的图像内容之间的平移变化量,因此,通过单应性矩阵可以确定出相邻目标图像的图像内容之间的偏移量,从而可以根据偏移量调整相邻目标图像之间的相对位置,使相邻目标图像在重叠区域中的图像内容尽量对齐,提升后续融合全景图像的效果。
[0154]
需要说明的是,在本发明实施例中,可以根据上述方法调整二维平面中的所有对相邻目标图像,使每一对相邻目标图像在对应目标缝合线位置处的图像内容可以精确重叠,从而优化所有目标图像在二维平面中的分布情况。
[0155]
步骤208,确定所述二维平面中调整相对位置后的各个相邻目标图像之间的重叠区域中,每个目标图像的各个像素对应的像素权重。
[0156]
在相邻目标图像的重叠区域中,每个像素位置同时存在相互重叠的两个像素,因此,为了生成全景图像,需要将相邻目标图像的重叠区域进行图像融合,以根据多个图标图像生成全景图像。
[0157]
为了获得较好的融合效果,可以首先确定重叠区域中,每个目标图像的像素对应的权重,再根据像素的权重,对重叠区域中每个像素位置的两个像素进行加权融合。
[0158]
可选地,步骤208可以进一步包括:
[0159]
子步骤2081,基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,相同像素位置的像素与目标图像中心位置的距离,确定所述像素对应的第一权重。
[0160]
在本发明实施例中,可以计算相邻目标图像的重叠区域中,目标像素位置与每个目标图像的中心位置的距离,再对上述目标距离进行归一化处理,得到该目标像素位置中每个目标图像的像素对应的第一权重。其中,上述距离可以为欧氏距离或曼哈顿距离。
[0161]
举例来说,对于二维平面中一对相邻目标图像(目标图像a和目标图像b),可以计算目标图像a在重叠区域的目标像素位置的像素a,与目标图像a的中心位置的欧式距离a,以及目标图像b在重叠区域的目标像素位置的像素b,与目标图像b的中心位置的欧氏距离b。对欧氏距离a进行归一化得到归一化值a,对欧氏距离b进行归一化得到归一化值b,则将归一化值a作为上述目标像素位置中的像素a的第一权重,将归一化值b作为上述目标像素位置中的像素b的第一权重。
[0162]
需要说明的是,在本技术实施例中,也可以单独使用第一权重进行图像融合,在得到重叠区域中每个像素位置中两个像素对应的第一权重之后,可以采用以下公式4计算每个像素位置融合后的像素值:
[0163][0164]
其中,i
linear
(θ,φ)表示重叠区域中θ行φ列的像素位置融合后的像素值,ii(θ,φ)表示重叠在一起的第i张图像在重叠区域中θ行φ列的像素位置的像素值,wi(θ,φ)表示重叠在一起的第i张图像在重叠区域中θ行φ列的像素位置的像素对应的第一权重。
[0165]
需要说明的是,上述基于第一权重进行图像融合的方法为图像的非线性融合法,此外,也可以采用图像的线性融合法等其他方法对相邻目标图像进行融合得到全景图像,
本技术实施例在此并不进行具体限定。
[0166]
子步骤2082,基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,各个像素的灰度值,确定所述像素对应的第二权重。
[0167]
在本发明实施例中,还可以获取重叠区域中每个像素的灰度值,并对灰度值进行归一化处理,得到重叠区域中每个像素对应的第二权重。
[0168]
举例来说,对于二维平面中一对相邻目标图像(目标图像a和目标图像b),可以获取目标图像a在重叠区域中目标像素位置的像素a的灰度值a,以及目标图像b在重叠区域中目标像素位置的像素b的灰度值b,对灰度值a进行归一化得到目标图像a中像素a的第二权重,对灰度值b进行归一化得到目标图像b中像素b的第二权重。
[0169]
子步骤2083,根据所述像素的第一权重和第二权重,确定所述像素的像素权重。
[0170]
可以将像素对应的第一权重和第二权重直接相加得到该像素对应的像素权重,也可以根据预设的权重比例,对像素的第一权重和第二权重进行加权,得到该像素对应的像素权重。举例来说,如果预设的第一权重的权重比例为0.8,第二权重的权重比例为0.2,像素a对应的第一权重为0.5,第二权重为0.6,则计算可得该像素a的像素权重为0.7。需要说明的是,上述权重比例可以由技术人员根据实际需要灵活调整,本发明实施例在此并不进行具体限定。
[0171]
在本发明实施例中,可以根据重叠区域中各个像素的权重,对重叠区域进行像素级别的加权融合,提升了图像融合的准确性和融合效果,此外,还通过像素与目标图像中心的距离计算像素的第一权重,通过像素的灰度值计算像素的第二权重,根据第一权重和第二权重共同计算像素权重,进一步提升了基于像素权重融合的准确性和融合效果。
[0172]
步骤209,基于所述像素权重,对调整相对位置后的各个相邻目标图像之间的重叠区域中相同像素位置的像素进行融合,得到全景图像。
[0173]
综上所述,本发明提出的另一种全景图像生成方法,获取目标摄像头在多个预设位姿下拍摄的多张目标图像;其中,预设位姿与目标图像一一对应;根据目标图像对应的预设位姿,将目标图像排布至二维平面中的对应位置处;确定二维平面中相邻目标图像对应的目标缝合线;基于目标缝合线调整相邻目标图像在二维平面中的相对位置;基于调整后的相对位置对二维平面中的目标图像进行融合,得到全景图像。因此,能够通过单一摄像头在多个预设位姿下拍摄多张目标图像,并基于目标图像之间的缝合线对目标图像之间的相对位置进行调整,使目标图像之间的内容对齐程度更高,再对目标图像进行融合得到全景图像,不仅可以有效降低全景拍摄设备的生产制造成本,降低了用户拍摄全景照片的成本,还能提高全景图像的生成效果。
[0174]
实施例三
[0175]
详细介绍本发明实施例提供的一种全景图像生成装置。
[0176]
参照图6,示出了本发明实施例提供的一种全景图像生成装置的结构示意图,如图6所示:
[0177]
本发明实施例的全景图像生成装置包括:获取模块501,排布模块502、缝合线模块503,位置调整模块504和融合模块505。
[0178]
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
[0179]
获取模块501,用于获取目标摄像头在多个预设位姿下拍摄的多张目标图像;其
中,所述预设位姿与所述目标图像一一对应。
[0180]
排布模块502,用于根据所述目标图像对应的预设位姿,将所述目标图像排布至二维平面中的对应位置处。
[0181]
缝合线模块503,用于确定所述二维平面中相邻目标图像对应的目标缝合线。
[0182]
位置调整模块504,用于基于所述目标缝合线调整所述相邻目标图像在所述二维平面中的相对位置。
[0183]
基于调整后的相对位置对所述二维平面中的目标图像进行融合,得到全景图像。
[0184]
可选地,所述装置还包括:
[0185]
标定图像模块,用于获取所述目标摄像头在固定位置处拍摄的多张不同取景角度的标定图像;
[0186]
拍摄位姿模块,用于根据所述标定之间的内容关联关系,确定所述标定图像的分别对应的拍摄位姿;
[0187]
预设位姿模块,用于对所述拍摄位姿进行非线性优化,得到预设位姿。
[0188]
可选地,所述排布模块包括:
[0189]
第一投影子模块,用于基于所述预设位姿,将所述目标图像投影至三维球面坐标系中,得到三维球面图像;
[0190]
第二投影子模块,用于根据所述目标图像在所述三维球面坐标系中所处的经纬度,将所述目标图像投影至二维平面中。
[0191]
可选地,所述缝合线模块包括:
[0192]
重叠区域子模块,用于确定所述二维平面中相邻目标图像之间的重叠区域;
[0193]
缝合线子模块,用于基于逐点法、动态规划法和图割法中任一种方法,从所述重叠区域中确定所述相邻目标图像对应的目标缝合线。
[0194]
可选地,所述位置调整模块包括:
[0195]
区域图像子模块,用于将所述目标缝合线周围预设范围内的区域确定为目标区域,获取所述相邻目标图像在所述目标区域中各自的区域图像;
[0196]
位置调整子模块,用于基于所述区域图像计算所述相邻目标图像之间的单应性矩阵,并根据所述单应性矩阵,调整所述相邻目标图像在所述二维平面中的相对位置。
[0197]
可选地,所述融合模块包括:
[0198]
权重子模块,用于确定所述二维平面中调整相对位置后的各个相邻目标图像之间的重叠区域中,每个目标图像的各个像素对应的像素权重;
[0199]
融合子模块,用于基于所述像素权重,对调整相对位置后的各个相邻目标图像之间的重叠区域中相同像素位置的像素进行融合,得到全景图像。
[0200]
可选地,所述像素权重包括第一权重和第二权重,所述权重子模块包括:
[0201]
第一权重子模块,用于基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,相同像素位置的像素与目标图像中心位置的距离,确定所述像素对应的第一权重;
[0202]
第二权重子模块,用于基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,各个像素的灰度值,确定所述像素对应的第二权重。
[0203]
综上,本发明提出的一种全景图像生成装置,包括:获取模块,用于获取目标摄像
头在多个预设位姿下拍摄的多张目标图像;其中,预设位姿与目标图像一一对应;排布模块,用于根据目标图像对应的预设位姿,将目标图像排布至二维平面中的对应位置处;缝合线模块,用于确定二维平面中相邻目标图像对应的目标缝合线;位置调整模块,用于基于所述目标缝合线调整所述相邻目标图像在所述二维平面中的相对位置;融合模块,用于基于调整后的相对位置对所述二维平面中的目标图像进行融合,得到全景图像。因此,能够通过单一摄像头在多个预设位姿下拍摄多张目标图像,并基于目标图像之间的缝合线对目标图像之间的相对位置进行调整,使目标图像之间的内容对齐程度更高,再对目标图像进行融合得到全景图像,不仅可以有效降低全景拍摄设备的生产制造成本,降低了用户拍摄全景照片的成本,还能提高全景图像的生成效果。
[0204]
实施例四
[0205]
图7为实现本发明各个实施例的一种终端设备的硬件结构示意图。
[0206]
该终端设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图7中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
[0207]
应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
[0208]
终端设备通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
[0209]
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与终端设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
[0210]
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(graphics processing unit,gpu)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
[0211]
终端设备600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在终端设备600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般
为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
[0212]
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板6061。
[0213]
用户输入单元607可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
[0214]
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图7中,触控面板6071与显示面板6061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现终端设备的输入和输出功能,具体此处不做限定。
[0215]
接口单元608为外部装置与终端设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备600内的一个或多个元件或者可以用于在终端设备600和外部装置之间传输数据。
[0216]
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0217]
处理器610是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处
理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
[0218]
终端设备600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0219]
另外,终端设备600包括一些未示出的功能模块,在此不再赘述。
[0220]
优选的,本发明实施例还提供了一种终端设备,包括:处理器610,存储器609,存储在存储器609上并可在处理器610上运行的计算机程序,该计算机程序被处理器610执行时实现上述全景图像生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0221]
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述全景图像生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0222]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0223]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0224]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
[0225]
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0226]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0227]
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为
一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0228]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0229]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0230]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0231]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种全景图像生成方法,其特征在于,所述方法包括:获取目标摄像头在多个预设位姿下拍摄的多张目标图像;其中,所述预设位姿与所述目标图像一一对应;根据所述目标图像对应的预设位姿,将所述目标图像排布至二维平面中的对应位置处;确定所述二维平面中相邻目标图像对应的目标缝合线;基于所述目标缝合线调整所述相邻目标图像在所述二维平面中的相对位置;基于调整后的相对位置对所述二维平面中的目标图像进行融合,得到全景图像。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述目标摄像头在固定位置处拍摄的多张不同取景角度的标定图像;根据所述标定之间的内容关联关系,确定所述标定图像的分别对应的拍摄位姿;对所述拍摄位姿进行非线性优化,得到预设位姿。3.根据权利要求1所述的方法,其特征在于,所述根据所述目标图像对应的预设位姿,将所述目标图像排布至二维平面中的对应位置处,包括:基于所述预设位姿,将所述目标图像投影至三维球面坐标系中,得到三维球面图像;根据所述目标图像在所述三维球面坐标系中所处的经纬度,将所述目标图像投影至二维平面中。4.根据权利要求1所述的方法,其特征在于,所述确定所述二维平面中相邻目标图像对应的目标缝合线,包括:确定所述二维平面中相邻目标图像之间的重叠区域;基于逐点法、动态规划法和图割法中任一种方法,从所述重叠区域中确定所述相邻目标图像对应的目标缝合线。5.根据权利要求1所述的方法,其特征在于,所述基于所述目标缝合线调整所述相邻目标图像在所述二维平面中的相对位置,包括:将所述目标缝合线周围预设范围内的区域确定为目标区域,获取所述相邻目标图像在所述目标区域中各自的区域图像;基于所述区域图像计算所述相邻目标图像之间的单应性矩阵,并根据所述单应性矩阵,调整所述相邻目标图像在所述二维平面中的相对位置。6.根据权利要求1所述的方法,其特征在于,所述基于调整后的相对位置对所述二维平面中的目标图像进行融合,得到全景图像,包括:确定所述二维平面中调整相对位置后的各个相邻目标图像之间的重叠区域中,每个目标图像的各个像素对应的像素权重;基于所述像素权重,对调整相对位置后的各个相邻目标图像之间的重叠区域中相同像素位置的像素进行融合,得到全景图像。7.根据权利要求6所述的方法,其特征在于,所述像素权重包括第一权重和第二权重,所述确定所述二维平面中调整相对位置后的各个相邻目标图像之间的重叠区域中,每个目标图像的各个像素对应的像素权重,包括:基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,相同像素位置的像素与目标图像中心位置的距离,确定所述像素对应的第一权重;
基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,各个像素的灰度值,确定所述像素对应的第二权重。8.根据权利要求1所述的方法,其特征在于,所述目标摄像头包括鱼眼摄像头。9.一种全景图像生成装置,其特征在于,所述装置包括:获取模块,用于获取目标摄像头在多个预设位姿下拍摄的多张目标图像;其中,所述预设位姿与所述目标图像一一对应;排布模块,用于根据所述目标图像对应的预设位姿,将所述目标图像排布至二维平面中的对应位置处;缝合线模块,用于确定所述二维平面中相邻目标图像对应的目标缝合线;位置调整模块,用于基于所述目标缝合线调整所述相邻目标图像在所述二维平面中的相对位置;融合模块,用于基于调整后的相对位置对所述二维平面中的目标图像进行融合,得到全景图像。10.根据权利要求9所述的装置,其特征在于,所述装置还包括:标定图像模块,用于获取所述目标摄像头在固定位置处拍摄的多张不同取景角度的标定图像;拍摄位姿模块,用于根据所述标定之间的内容关联关系,确定所述标定图像的分别对应的拍摄位姿;预设位姿模块,用于对所述拍摄位姿进行非线性优化,得到预设位姿。11.根据权利要求9所述的装置,其特征在于,所述排布模块包括:第一投影子模块,用于基于所述预设位姿,将所述目标图像投影至三维球面坐标系中,得到三维球面图像;第二投影子模块,用于根据所述目标图像在所述三维球面坐标系中所处的经纬度,将所述目标图像投影至二维平面中。12.根据权利要求9所述的装置,其特征在于,所述缝合线模块包括:重叠区域子模块,用于确定所述二维平面中相邻目标图像之间的重叠区域;缝合线子模块,用于基于逐点法、动态规划法和图割法中任一种方法,从所述重叠区域中确定所述相邻目标图像对应的目标缝合线。13.根据权利要求9所述的装置,其特征在于,所述位置调整模块包括:区域图像子模块,用于将所述目标缝合线周围预设范围内的区域确定为目标区域,获取所述相邻目标图像在所述目标区域中各自的区域图像;位置调整子模块,用于基于所述区域图像计算所述相邻目标图像之间的单应性矩阵,并根据所述单应性矩阵,调整所述相邻目标图像在所述二维平面中的相对位置。14.根据权利要求9所述的装置,其特征在于,所述融合模块包括:权重子模块,用于确定所述二维平面中调整相对位置后的各个相邻目标图像之间的重叠区域中,每个目标图像的各个像素对应的像素权重;融合子模块,用于基于所述像素权重,对调整相对位置后的各个相邻目标图像之间的重叠区域中相同像素位置的像素进行融合,得到全景图像。15.根据权利要求14所述的装置,其特征在于,所述像素权重包括第一权重和第二权
重,所述权重子模块包括:第一权重子模块,用于基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,相同像素位置的像素与目标图像中心位置的距离,确定所述像素对应的第一权重;第二权重子模块,用于基于所述二维平面中调整相对位置后的相邻目标图像之间的重叠区域中,各个像素的灰度值,确定所述像素对应的第二权重。16.一种终端设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的全景图像生成方法的步骤。17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的全景图像生成方法的步骤。

技术总结
本发明提供了一种全景图像生成方法、装置、终端设备及存储设备,涉及图像处理技术领域。包括:获取目标摄像头在多个预设位姿下拍摄的多张目标图像;根据目标图像对应的预设位姿,将目标图像排布至二维平面中的对应位置处;确定二维平面中相邻目标图像对应的目标缝合线;基于目标缝合线调整相邻目标图像在二维平面中的相对位置;对调整后的目标图像进行融合,得到全景图像。能够基于单一摄像头拍摄的多张目标图像之间的缝合线对目标图像之间的相对位置进行调整,使目标图像之间的内容对齐程度更高,再对目标图像进行融合得到全景图像,不仅可以降低全景拍摄设备的生产制造成本,降低了用户拍摄全景照片的成本,还能提高全景图像的生成效果。全景图像的生成效果。全景图像的生成效果。


技术研发人员:ꢀ(74)专利代理机构
受保护的技术使用者:北京五八信息技术有限公司
技术研发日:2022.07.11
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-7287.html

最新回复(0)