生成全景图的方法、装置、电子设备及存储介质与流程

文档序号:28953235发布日期:2022-02-19 11:10阅读:211来源:国知局
生成全景图的方法、装置、电子设备及存储介质与流程

1.本公开涉及图像处理技术领域,进一步涉及计算机视觉领域,尤其涉及一种生成全景图的方法、装置、电子设备及存储介质。


背景技术:

2.全景图通过广角的表现手段以及绘画、照片、视频、三维模型等形式,能够尽可能多的表现出周围的环境。
3.相关方案中,通过拍摄硬件获取图像素材,将多个图像素材导入全景软件进行自动拼接,进而获取拼接后的全景图。


技术实现要素:

4.本公开提供了一种生成全景图的方法、装置、电子设备及存储介质,以提升生成全景图时的图片拼接效果和拼接效率。
5.根据本公开的一方面,提供了一种生成全景图的方法,包括:利用全景摄像组件采集多张图片;获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置信息;采用球面投影方式对多张图片进行展开处理,得到图片展开结果;采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图。
6.根据本公开的又一方面,提供了一种生成全景图的装置,包括:采集模块,用于利用全景摄像组件采集多张图片;获取模块,用于获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置;展开模块,用于采用球面投影方式对多张图片进行展开处理,得到图片展开结果;生成模块,用于采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图。
7.根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提出的生成全景图的方法。
8.根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提出的生成全景图的方法。
9.根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行本公开提出的生成全景图的方法。
10.在本公开中,通过利用全景摄像组件采集多张图片;获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置信息;采用球面投影方式对多张图片进行展开处理,得到图片展开结果;采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图,达到了利用全景摄影组件采集的多张图片快速生成全景图的目的,能够提升生成全景图时的图片拼接效果和拼接效
率。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开实施例的一种用于实现生成全景图的方法的计算机终端(或移动设备)的硬件结构框图;
14.图2是根据本公开实施例的一种生成全景图的方法流程图;
15.图3是根据本公开实施例的一种生成全景图的过程示意图;
16.图4是根据本公开实施例的一种输入图片示意图;
17.图5是根据本公开实施例的一种图片黑边示意图;
18.图6是根据本公开实施例的生成的一种全景图;
19.图7是根据本公开实施例的一种生成全景图的装置的结构框图。
具体实施方式
20.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
21.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.在相关方案中,当拍摄硬件获取的图像素材为鱼眼图片时,由于鱼眼图片畸变较大,难以利用全景软件处理获得拼接效果良好的全景图。
23.根据本公开实施例,提供了一种生成全景图的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
24.本公开实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的电子设备中执行。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。图1示出了一种用于实现
生成全景图的方法的计算机终端(或移动设备)的硬件结构框图。
25.如图1所示,计算机终端100包括计算单元101,其可以根据存储在只读存储器(rom)102中的计算机程序或者从存储单元108加载到随机访问存储器(ram)103中的计算机程序,来执行各种适当的动作和处理。在ram 103中,还可存储计算机终端100操作所需的各种程序和数据。计算单元101、rom 102以及ram 103通过总线104彼此相连。输入/输出(i/o)接口105也连接至总线104。
26.计算机终端100中的多个部件连接至i/o接口105,包括:输入单元106,例如键盘、鼠标等;输出单元107,例如各种类型的显示器、扬声器等;存储单元108,例如磁盘、光盘等;以及通信单元109,例如网卡、调制解调器、无线通信收发机等。通信单元109允许计算机终端100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
27.计算单元101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元101执行本文所描述的生成全景图的方法。例如,在一些实施例中,生成全景图的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元108。在一些实施例中,计算机程序的部分或者全部可以经由rom 102和/或通信单元109而被载入和/或安装到计算机终端100上。当计算机程序加载到ram103并由计算单元101执行时,可以执行本文描述的生成全景图的方法的一个或多个步骤。备选地,在其他实施例中,计算单元101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行生成全景图的方法。
28.本文中描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
29.此处需要说明的是,在一些可选实施例中,上述图1所示的电子设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述电子设备中的部件的类型。
30.在上述运行环境下,本公开提供了如图2所示的生成全景图的方法,该方法可以由图1所示的计算机终端或者类似的电子设备执行。图2是根据本公开实施例提供的一种生成全景图的方法流程图。如图2所示,该方法可以包括如下步骤:
31.步骤s20,利用全景摄像组件采集多张图片;
32.可选地,上述全景摄影组件可以封装在移动终端中的图像采集装置中,也可以为可拆卸的独立装置,该独立装置能够组装在移动终端的后置摄像头上进行图像采集。
33.可选地,利用全景摄像采集组件旋转拍摄采集多张图片,采集到的多张图片可以
用于拼接生成全景图。
34.例如,上述全景摄影组件可以为一种鱼眼镜头,鱼眼镜头的焦距小于等于16mm,视角接近或等于180
°
,利用鱼眼镜头能够采集多张鱼眼图片。将鱼眼镜头加在手机的后置摄像头上,将手机放置于蓝牙旋转云台上,控制手机在云台旋转时进行拍摄,进而采集到多张图片。
35.步骤s22,获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置信息;
36.上述估计参数信息包括:全景摄像组件模型参数和旋转矩阵。
37.具体的,获取多张图片对应的估计参数信息的实现过程可以参照对于本公开实施例的进一步介绍,不予赘述。
38.步骤s26,采用球面投影方式对多张图片进行展开处理,得到图片展开结果;
39.可选地,采用球面投影方式对多张图片进行展开处理。
40.步骤s28,采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图。
41.具体的,采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图可以参照对于本公开实施例的进一步介绍,不予赘述。
42.根据本公开上述步骤s20至步骤s24,通过利用全景摄像组件采集多张图片;获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置信息;采用球面投影方式对多张图片进行展开处理,得到图片展开结果;采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图,达到了利用全景摄影组件采集的多张图片快速生成全景图的目的,能够提升生成全景图时的图片拼接效果和拼接效率。
43.下面对上述实施例的生成全景图的方法进行进一步介绍。
44.作为一种可选的实施方式,在步骤s22,获取多张图片对应的估计参数信息包括:
45.步骤s220,对多张图片中每张图片进行图形检测,获取每张图片对应的目标图形;
46.可选地,对多张图片中每张图片进行图形检测包括对多张图片中的每张图片进行圆形检测。上述每张图片对应的目标图形可以为最终检测到的圆形。
47.具体的,对多张图片中每张图片进行圆形检测,获取每张图片对应的目标图形的实现过程可以参照下文实施例的进一步介绍,不予赘述。
48.步骤s222,对目标图形进行特征检测以提取多个特征点,并基于多个特征点进行位姿估计,确定估计参数信息,或者,利用角运动检测组件采集到的角运动检测数据确定估计参数信息,其中,角运动检测数据是在利用全景摄像组件采集多张图片时,同步记录的检测数据。
49.可选地,对目标图形进行特征检测获得多个特征描述子,从多个特征描述子中提取多个特征点。其中,每个特征描述子是一个用于描述对应特征点的向量。
50.具体的,基于多个特征点进行位姿估计,确定估计参数信息的实现过程如下:将提取到的多个特征点投影到鱼眼半球模型中,再利用随机采样一致性求得旋转矩阵。其中,鱼眼半球模型为一个单位球的半个球面,鱼眼图片上的多个特征点在世界坐标系中的关系也是它们在鱼眼半球模型上的3d点的旋转关系,即旋转矩阵,将特征点投影到鱼眼半球模型中,可以精确估计出旋转矩阵。进一步的,确定鱼眼模型的投影方式和重投影误差的计算方
式,利用光束平差(bundle adjustment)优化算法完成对于鱼眼相机模型参数和旋转矩阵的优化,进而获得更精确的估计参数信息。
51.具体的,利用角运动组件采集到的角运动检测数据确定估计参数信息的实现过程如下:将相机内参初始化,利用上述步骤s220中的圆形检测获取圆心半径,将视场角(fov)设置为鱼眼相机的视角大小,一般设置为180
°
,初始化鱼眼相机模型的参数为:a=0,b=-0.2,c=0,利用陀螺仪采集到的欧拉角直接计算出旋转矩阵,欧拉角包括俯仰角、偏航角和翻滚角。其中,鱼眼镜头的投影函数如以下公式(1)所示:
52.r(θ)≈a*θ+b*θ3+c*θ5ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(1)
53.可选地,在基于多个特征点进行位姿估计失败时,利用角运动检测组件采集到的角运动检测数据确定估计参数信息。具体的,如果bundle adjustment优化算法已经收敛,且估计出的参数值处于合理范围内,则视为位姿估计成功,否则视为位姿估计失败。
54.基于上述步骤s220至步骤s222,可以对多张图片中每张图片进行图形检测,进而获取每张图片对应的目标图形,进一步对目标图形进行特征检测和提取,利用提取获得的多个特征点进行位姿估计确定估计参数信息,或者利用角运动检测组件采集到的角运动采集数据确定估计参数信息,能够获取准确的估计参数信息,用于后续的图像处理。
55.作为一种可选的实施方式,估计参数信息包括:全景摄像组件模型参数和旋转矩阵,全景摄像组件模型参数用于估计多张图片中每张图片对应的展开图的展开效果,旋转矩阵用于估计展开图在目标全景图中的位置。
56.上述全景摄像组件模型为鱼眼相机模型参数。
57.作为一种可选的实施方式,在步骤s220,对多张图片中每张图片进行图形检测,获取每张图片对应的目标图形包括:
58.步骤s2200,利用色阶调整对多张图片中每张图片的亮度和对比度进行调整,得到调整结果;
59.具体的,利用色阶调整对多张图片中每张图片的亮度和对比度进行调整包括:降低多张图片中每张图片的亮度,增加多张图片中每张图片的对比度。其中,色阶调整包括通过实验调整色阶的白场值和黑场值得到一组参数,能够使得圆形检测准确率最高。
60.步骤s2202,采用第一查找方式从调整结果中查找第一中心位置,以及采用第二查找方式从调整结果中查找第二中心位置;
61.其中,第一查找方式为采用随机采样一致性方法进行查找,第一中心位置为鱼眼图片主体区域的轮廓形状,第二查找方式为采用opencv中的接口进行查找,第二中心位置为鱼眼图片中的闭合圆形。
62.步骤s2204,比较第一距离与第二距离,得到比较结果,其中,第一距离为第一中心位置与对应图片的中心位置之间的距离,第二距离为第二中心位置与对应图片的中心位置之间的距离;
63.步骤s2206,基于比较结果获取每张图片对应的目标图形。
64.可选地,当第一距离小于第二距离时,将第一中心位置确定为该图片对应的目标图形。例如,当通过第一查找方式查找到的轮廓形状距离对应图片的中心位置更近时,将该轮廓形状作为最终检测到的圆形。
65.可选地,当第一距离大于第二距离时,将第二中心位置确定为该图片对应的目标
图形。例如,当通过第二查找方式查找到的闭合圆形距离对应图片的中心位置更近时,将该闭合圆形作为最终检测到的圆形。
66.基于上述步骤s2200至步骤s2206,能够对多张图片中的每张图片进行色阶调整,进而利用第一查找方式从调整结果中查找第一中心位置,利用第二查找方式从调整结果中查找第二中心位置,最后基于第一距离和第二距离的比较结果获取每张图片对应的目标图形,实现了对于多张图片的圆形检测。
67.作为一种可选的实施方式,在步骤s26,采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图包括:
68.步骤s260,利用图片展开结果确定每个展开图与其余展开图之间的重叠部分,并对重叠部分进行裁剪处理,得到裁剪结果;
69.为了更精确地估计旋转矩阵,全景摄像组件在旋转360
°
采集多张图片的过程中,相邻两张图片之间的重合区域较大,进而导致最后将等距矩形投影结果的最左区域和最右区域在拼接后无法完美衔接。
70.可选地,对每个展开图与其余展开图之间的重叠部分进行裁剪处理时,通过实验调参确定需要裁剪的区域宽度。在裁剪结果中,相邻展开图两两之间重叠减少,且相邻展开图之间只存在一条拼接缝。将被拼接缝拆开的展开图裁剪成两张图,分别计算它们的左上角投影点,便于后续的裁剪和图像融合。
71.步骤s262,查找裁剪结果中相邻展开图之间的拼接缝;
72.具体的,采用opencv中的图像分割拼接缝查找算法(graph cut seam finder)查找相邻两张展开图之间的拼接缝。
73.步骤s264,采用球面拼接方式对拼接缝进行拼接处理,生成初始全景图;
74.具体的,上述拼接处理中可以利用多波段融合进行图像融合,以生成初始全景图。
75.步骤s266,对初始全景图中的待裁剪区域进行裁剪处理,得到目标全景图。
76.上述待裁剪区域为初始全景图中上下两端存在黑色区域,即存在黑边,该黑色区域表示摄像采集组件没有采集的区域,为了最终全景图的美观,需要将黑边进行裁剪处理。
77.具体的,对初始全景图中的待裁剪区域进行裁剪处理,得到目标全景图的实现过程可以参照下文实施例的介绍,不予赘述。
78.作为一种可选的实施方式,在步骤s266,对初始全景图中的待裁剪区域进行裁剪处理,得到目标全景图包括:
79.步骤s2660,获取初始全景图对应的掩码;
80.步骤s2662,基于掩码在初始全景图的高度方向上查找第一高度和第二高度;
81.其中,第一高度为上端黑边最小高度,第二高度为下端黑边的最大高度。
82.具体的,基于掩码(mask)在初始全景图的高度方向上通过遍历的方式查找上端黑边的最小高度和下端黑边的最大高度。由于遍历操作耗时,故将图像融合后的初始全景图分割成小图进行遍历操作的输入,可有效减少计算时间。
83.步骤s2664,利用第一高度和第二高度确定待裁剪区域;
84.其中,待裁剪区域为包括上端黑边和下端黑边区。初始全景图的坐标原点在左上角,向右为x轴正方向,向下为y轴正方向,因而在y轴方向上,初始全景图中最小高度之下是上端黑边,最大高度之上为下端黑边。
85.步骤s2666,对待裁剪区域进行裁剪处理,得到目标全景图。
86.基于上述步骤s2660至步骤s2666,能够准确裁剪初始全景图中的黑边,避免将图像中的黑色物体误当做黑边裁剪,能够进一步提升全景图的视觉效果。
87.下面结合示意图对本公开实施例提供的生成全景图的方法进行介绍。
88.图3是根据本公开实施例的一种生成全景图的过程示意图,如图3所示,该过程包括如下步骤:
89.步骤s301,进行读图操作;
90.其中,用于读图操作的图片为利用全景摄像组件采集到的多张图片。例如,图4是根据本公开实施例的一种输入图片示意图,如图4所示,从利用全景摄像组件采集的多张图片中选择8张鱼眼图片用于生成全景图,鱼眼图片的压缩格式jpg格式,每张图片的尺寸为1536*2048。
91.步骤s302,进行圆形检测;
92.具体的,进行圆形检测实现过程可以参照上述步骤s220,不予赘述。
93.步骤s303,进行特征检测;
94.具体的,采用尺度不变特征变换(scale-invariant feature transform,sift)特征进行特征检测和特征描述子提取。
95.步骤s304,基于特征进行相机位姿估计,获取多张图片对应的估计参数信息;
96.可选地,在步骤s304,基于特征的相机位姿估计,获取多张图片对应的估计参数信息还包括以下步骤:
97.步骤s3041,进行特征匹配;
98.步骤s3042,将特征点投影到球面;
99.步骤s3043,基于球面投影点坐标进行相机内外参数估计;
100.步骤s3044,对相机内外参数进行优化;
101.步骤s305,判断基于特征的相机位姿估计是否成功;
102.具体的,如果bundle adjustment优化算法已经收敛,且估计出的参数值处于合理范围内,则视为位姿估计成功,否则视为位姿估计失败。
103.步骤s306,在确定基于特征的相机位姿估计不成功时,基于陀螺仪数据进行相机内外参数估计;
104.其中,陀螺仪数据包括俯仰角、偏航角和翻滚角。
105.步骤s307,在确定基于特征的相机位姿估计成功时,进行球面投影和变形操作;
106.具体的,采用球面投影方式对多张图片进行展开处理,得到图片展开结果。
107.步骤s308,裁剪重叠区域;
108.具体的,裁剪重叠区域的实现过程可以参照上述步骤s26,不予赘述。
109.步骤s309,进行图像融合操作;
110.步骤s310,进行裁剪黑边操作;
111.例如,图5是根据本公开实施例的一种图片黑边示意图,具体的,进行裁剪黑边操作的实现过程可以参照上述步骤s266,不予赘述。
112.步骤s311,生成全景图。
113.例如,图6是根据本公开实施例的生成的一种全景图。
114.基于上述步骤s301至步骤s311,能够将畸变较大的鱼眼图片进行拼接,可以获得更好的全景图拼接效果,同时由于鱼眼图片的视角大,因此拼接一个场景的场景图需要的输入图片更少,算法需要处理的图片数量也更少,拼接生成全景图的效率更高。
115.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
116.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
117.在本公开中还提供了一种生成全景图的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
118.图7是根据本公开其中一实施例的一种生成全景图的装置的结构框图,如图7所示,一种生成全景图的装置700包括:
119.采集模块701,用于利用全景摄像组件采集多张图片;
120.获取模块702,用于获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置;
121.展开模块703,用于采用球面投影方式对多张图片进行展开处理,得到图片展开结果;
122.生成模块704,用于采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图。
123.可选地,获取模块702用于获取多张图片对应的估计参数信息包括:对多张图片中每张图片进行图形检测,获取每张图片对应的目标图形;对目标图形进行特征检测以提取多个特征点,并基于多个特征点进行位姿估计,确定估计参数信息,或者,利用角运动检测组件采集到的角运动检测数据确定估计参数信息,其中,角运动检测数据是在利用全景摄像组件采集多张图片时,同步记录的检测数据。
124.可选地,估计参数信息包括:全景摄像组件模型参数和旋转矩阵,全景摄像组件模型参数用于估计多张图片中每张图片对应的展开图的展开效果,旋转矩阵用于估计展开图在目标全景图中的位置。
125.可选地,获取模块702还用于对多张图片中每张图片进行图形检测,获取每张图片对应的目标图形包括:利用色阶调整对多张图片中每张图片的亮度和对比度进行调整,得到调整结果;采用第一查找方式从调整结果中查找第一中心位置,以及采用第二查找方式从调整结果中查找第二中心位置;比较第一距离与第二距离,得到比较结果,其中,第一距离为第一中心位置与对应图片的中心位置之间的距离,第二距离为第二中心位置与对应图片的中心位置之间的距离;基于比较结果获取每张图片对应的目标图形。
126.可选地,生成模块704用于采用球面拼接方式对图片展开结果进行拼接处理,生成
目标全景图包括:利用图片展开结果确定每个展开图与其余展开图之间的重叠部分,并对重叠部分进行裁剪处理,得到裁剪结果;查找裁剪结果中相邻展开图之间的拼接缝;采用球面拼接方式对拼接缝进行拼接处理,生成初始全景图;对初始全景图中的待裁剪区域进行裁剪处理,得到目标全景图。
127.可选地,生成模块704还用于对初始全景图中的待裁剪区域进行裁剪处理,得到目标全景图包括:获取初始全景图对应的掩码;基于掩码在初始全景图的高度方向上查找第一高度和第二高度;利用第一高度和第二高度确定待裁剪区域;对待裁剪区域进行裁剪处理,得到目标全景图。
128.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
129.根据本公开的实施例,本公开还提供了一种电子设备,包括存储器和至少一个处理器,该存储器中存储有计算机指令,该处理器被设置为运行计算机指令以执行上述任一项方法实施例中的步骤。
130.可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
131.可选地,在本公开中,上述处理器可以被设置为通过计算机程序执行以下步骤:
132.s1,利用全景摄像组件采集多张图片;
133.s2,获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置信息;
134.s3,采用球面投影方式对多张图片进行展开处理,得到图片展开结果;
135.s4,采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图。
136.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
137.根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该非瞬时计算机可读存储介质中存储有计算机指令,其中,该计算机指令被设置为运行时执行上述任一项方法实施例中的步骤。
138.可选地,在本实施例中,上述非瞬时计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
139.s1,利用全景摄像组件采集多张图片;
140.s2,获取多张图片对应的估计参数信息,其中,估计参数信息用于估计多张图片中每张图片对应的展开图的展开效果以及展开图的位置信息;
141.s3,采用球面投影方式对多张图片进行展开处理,得到图片展开结果;
142.s4,采用球面拼接方式对图片展开结果进行拼接处理,生成目标全景图。
143.可选地,在本实施例中,上述非瞬时计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容
的任何合适组合。
144.根据本公开的实施例,本公开还提供了一种计算机程序产品。用于实施本公开的音频处理方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
145.在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
146.在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
147.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
148.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
149.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom)、随机存取存储器(ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
150.以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1