一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-12-04 02:23:00 来源:中国专利 TAG:


1.本公开涉及图像处理领域,尤其是一种生成全景图像的方法、装置、电子设备和存储介质。


背景技术:

2.目前,在移动终端上生成全景图像的方法,通常是将连续拍摄得到的多个图像帧拼接成全景图像。
3.相关技术中,在移动终端上生成全景图像时,首先需要确定相机在相邻两个图像帧之间转过的角度,并基于相机的最大视野角的覆盖范围从相邻两个图像帧中截取相机转过的角度对应的图片范围;再之后,对确定出的图片范围中的图像进行畸变调整,最后将调整后的图片拼接为全景图像。


技术实现要素:

4.本公开实施例提供一种生成全景图像的方法、装置、电子设备和存储介质,以解决相关技术中生成全景图像的运算量较大、效率较低的问题。
5.本公开实施例的一个方面,提供一种生成全景图像的方法,包括:获取第一图像集,第一图像集包括相机以第一预设姿态绕竖直方向旋转时连续拍摄得到的多个第一图像帧,第一预设姿态为:相机的感光元件的对角线位于竖直平面内、且相机的镜头方向与水平面呈第一夹角;从第一图像帧中提取出第一预设区域的图像,作为待拼接的第一局部图像,第一预设区域为相对于对角线对称的、第一预设宽度的区域,相邻两个第一局部图像在水平方向上存在重合区域;将第一局部图像拼接为第一全景图像。
6.在一些实施例中,将第一局部图像拼接为第一全景图像,包括:调整第一局部图像在竖直方向上的畸变,得到调整后的第一局部图像;将调整后的第一局部图像拼接为第一全景图像。
7.在一些实施例中,从第一图像帧中提取出第一预设区域的图像,包括:基于预设的第一采样策略,从第一图像集中采样出第一预设数量的第一图像帧,作为第一候选图像帧,且相邻两个第一候选图像帧在水平方向上存在重合区域;从第一候选图像帧中提取出第一预设区域的图像。
8.在一些实施例中,第一预设宽度基于相机在相邻两个第一图像帧之间转过的角度、相机在水平方向上的最大视场角以及预先确定的第一全景图像的分辨率确定。
9.在一些实施例中,该方法还包括:获取第二图像集,第二图像集包括相机以第二预设姿态绕竖直方向旋转时连续拍摄得到的多个第二图像帧,第二预设姿态为:相机的感光元件的对角线位于竖直平面内、且相机的镜头方向与水平面呈第二夹角;第二图像帧与第一图像帧在竖直方向上存在重合区域;从第二图像帧中提取出第二预设区域的图像,作为待拼接的第二局部图像,第二预设区域为相对于对角线对称的、第二预设宽度的区域,相邻两个第二局部图像在水平方向上存在重合区域;将第二局部图像拼接为第二全景图像;以
及,将第一全景图像和第二全景图像拼接为第三全景图像。
10.在一些实施例中,第二预设宽度基于相机在相邻两个第二图像帧之间转过的角度、相机在水平方向上的最大视场角以及预先确定的第二全景图像的分辨率确定。
11.本公开实施例的第二方面,提供一种生成全景图像的装置,包括:第一图像获取单元,被配置成:获取第一图像集,第一图像集包括相机以第一预设姿态绕竖直方向旋转时连续拍摄得到的多个第一图像帧,第一预设姿态为:相机的感光元件的对角线位于竖直平面内、且相机的镜头方向与水平面呈第一夹角;第一图像提取单元,被配置成:从第一图像帧中提取出第一预设区域的图像,作为待拼接的第一局部图像,第一预设区域为相对于对角线对称的、第一预设宽度的区域,相邻两个第一局部图像在水平方向上存在重合区域;第一图像拼接单元,被配置成将第一局部图像拼接为第一全景图像。
12.在一些实施例中,该装置还包括:第二图像获取单元,被配置成:获取第二图像集,第二图像集包括相机以第二预设姿态绕竖直方向旋转时连续拍摄得到的多个第二图像帧,第二预设姿态为:相机的感光元件的对角线位于竖直平面内、且相机的镜头方向与水平面呈第二夹角;第二图像帧与第一图像帧在竖直方向上存在重合区域;第二图像提取单元,被配置成:从第二图像帧中提取出第二预设区域的图像,作为待拼接的第二局部图像,第二预设区域为相对于对角线对称的、第二预设宽度的区域,相邻两个第二局部图像在水平方向上存在重合区域;第二图像拼接单元,被配置成将第二局部图像拼接为第二全景图像;以及,第三图像拼接单元,被配置成将第一全景图像和第二全景图像拼接为第三全景图像。
13.本公开实施例的第三方面,还提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述任一实施例中的生成全景图像的方法。
14.本公开实施例的第四方面,还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中的生成全景图像的方法。
15.本公开的生成全景图像的方法,通过第一预设姿态采集得到的第一图像帧单应性相关,且相机的最大视场角在第一图像帧中的覆盖范围是以对角线为中心线的中间区域,第一局部图像则是从相机的最大视场角在第一图像帧中的覆盖范围中提取出的图像区域,省略了识别最大视场角的步骤,可以直接基于第一局部图像进行图像拼接,得到第一全景图像,并且,各个第一图像帧对应的相机姿态仅在水平方向上存在差异,简化了单应矩阵的计算过程,从而降低了全景图像生成过程中的数据运算量,提高了全景图像的生成效率。
16.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
17.构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
18.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:图1为本公开的生成全景图像的方法的一个实施例的流程图;图2(a)为本公开的生成全景图像的方法的一个实施例中第一预设姿态的第一视角的示意图;图2(b)为本公开的生成全景图像的方法的一个实施例中第一预设姿态的第二视
角的示意图;图3为本公开的生成全景图像的方法的一个实施例中第一局部图像的示意图;图4为本公开的生成全景图像的方法的又一个实施例的流程图;图5(a)为本公开的生成全景图像的方法的一个实施例中第二预设姿态的第一视角的示意图;图5(b)为本公开的生成全景图像的方法的一个实施例中第二预设姿态的第二视角的示意图;图6为本公开的生成全景图像的装置的一个实施例的结构示意图;图7为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
19.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
20.本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
21.还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
22.还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
23.另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
24.还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
25.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
26.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
27.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
28.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
29.本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和
包括上述任何系统的分布式云计算技术环境,等等。
30.终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
31.实践中,生成全景图像的方式通常包括两种:第一种是将间断拍摄得到的多个不连续的单帧图像合成全景图像,例如,用户可以利用相机在场景中拍摄多次,每次拍摄获得一个单帧图像,之后再利用图像处理算法(例如可以是opencv或python),对各单帧图像进行特征点匹配以确定各单帧图像的单应矩阵,并基于单行矩阵将各单帧图像拼接成全景图像。
32.第二种是将连续拍摄得到的多个连续的图像帧拼接成全景图像,例如,用户可以手持手机在场景中连续拍摄,得到多个连续的图像帧,之后,再通过图像处理算法将得到的多个连续的图像帧拼接成全景图像。
33.发明人在实现本公开的过程中发现,相关技术中的上述两种生成全景图像的方式均存在不足之处。对于第一种方法,多个单帧图像合成的方式的运算量较大,而目前的移动终端(例如智能手机)尚无法提供足够的运算能力,只能先降低图像的分辨率和视觉效果,由移动终端合成视觉效果较差的图像以供用户预览,然后将各个单帧图像上传到服务端,由服务端合成全景图像,导致生成全景图像的耗时较大,且无法实时合成全景图像。
34.对于第二种方法,移动终端在合成全景图像的过程中时,需要确定出相机的最大视场角在每个图像帧中的覆盖区域,然后从图像帧中截取出该范围所对应的图像区域,最后将截取出的图像区域拼接成全景图像。同样会带来较大的数据运算量,导致生成全景图像的耗时较多。
35.请参考图1,图1示出了本公开的生成全景图像的一个实施例的流程图,如图1所示,该流程包括如下步骤110至步骤130。
36.步骤110、获取第一图像集。
37.其中,第一图像集包括相机以第一预设姿态绕竖直方向旋转时连续拍摄得到的多个第一图像帧,第一预设姿态为:相机的镜头方向与水平面呈第一夹角,且相机的感光元件的对角线与镜头方向在水平面内的投影平行。
38.在本实施例中,通过第一预设姿态采集到的各个第一图像帧单应性相关,且相机的最大视场角在第一图像帧中的覆盖区域位于对角线附近的中心区域。
39.实践中,相机的感光元件通常与相机的屏幕对应的,因此,可以通过屏幕的对角线的姿态表征感光元件的对角线的姿态。假设相机屏幕的高度和宽度比例为4:3,相机处于初始姿态时,相机屏幕的高度垂直于水平面,此时相机屏幕的对角线与竖直方向的夹角为arccos(4/5)。之后绕垂直于相机屏幕的第一水平转轴旋转arccos(4/5),可将相机屏幕的对角线调整至竖直方向,然后,将相机绕平行于相机屏幕的第二水平转轴向下或向上翻转预设角度,即可将相机调整至第一预设姿态。上述旋转角度仅为示例性描述,实际应用时,具体角度可以根据相机屏幕的高度和宽度确定。
40.由于相机屏幕的高度和宽度均小于相机屏幕的对角线,因而利用第一预设姿态旋转拍摄时,可以提高图像采集效率。
41.本公开生成全景图像的方法运行于其上的电子设备可以是终端设备,例如终端电脑、智能手机、笔记本电脑等,也可以是服务端,例如可以是用户图像处理的后台应用服务器,本公开对此不做限定。作为示例,执行主体可以为具备拍照功能的智能手机,用户可以直接用智能手机以第一预设姿态采集第一图像帧,并由智能手机执行本实施例中的生成全景图像的方法。再例如,执行主体可以为终端电脑,可以通过网络获取第一图像集,还可以采用数据连接的方式直接从相机点的内存卡中读取第一图像集。
42.下面结合图2对第一预设姿态进行示例性说明,图2中,智能手机200配备有摄像头210,用户可以手持智能手机200采用第一预设姿态绕竖直方向转动一周或预定角度,以采集第一图像帧。图2(a)为智能手机200的第一视角(主视方向,即屏幕面向用户),从图2(a)中可以看出,智能手机200的屏幕的对角线在主视图中的投影为竖直方向,此时智能手机200的感光元件的对角线在主视图中的投影也为竖直方向。图2(b)为智能手机200的第二视角(侧视方向),其中,α为摄像头210的镜头方向与水平面之间的第一夹角。
43.步骤120、从第一图像帧中提取出第一预设区域的图像,作为待拼接的第一局部图像。
44.其中,第一预设区域为相对于对角线对称的、第一预设宽度的区域,相邻两个第一局部图像在水平方向上存在重合区域。
45.进一步结合图3对本实施例中的第一局部图像在第一图像帧中的位置进行示例性说明,如图3所示,300为第一图像帧,310为第一局部图像在第一图像帧中的区域。
46.在本实施例中,第一局部图像为相机的最大视场角在第一图像帧中的覆盖区域中的一部分,并且相邻两个第一局部图像单应性相关。
47.作为示例,第一预设宽度可以根据相机的最大视场角在第一图像帧中的覆盖区域确定,例如可以根据相机的参数以及拍摄距离,估计出相机的最大视场角在第一图像帧中的覆盖区域,然后根据相机采集图像的频率和拍摄时的转动速度,估计出两个相邻第一图像帧之间重合区域,之后结合覆盖区域和重合区域,确定第一宽度。
48.再例如,还可以对相机的历史图像进行统计分析,以此确定出相机对应的第一预设宽度的可选区间,然后可以根据经验从可选区间中选取第一预设宽度的具体数值。
49.需要说明的是,实践中,相机在旋转拍摄时的旋转速度远小于第一图像帧的采集速度,因此,相邻两个第一图像帧中存在较大的重合区域,以此,执行主体可以从相邻两个第一图像帧中提取出两个具备重合区域的第一局部图像。
50.步骤130、将第一局部图像拼接为第一全景图像。
51.在一个具体的示例中,执行主体可以是智能手机,其上可以预先装载有图像处理算法,例如可以是opencv或python。首先,执行主体可以基于相邻两个第一局部图像之间的重合区域,对各个第一局部图像进行两两关键点检测,从两个相邻的第一局部图像中分别确定出关键点及其描述子,例如可以采用sift(scale invariant feature transform,尺度不变特征变换),surf(speeded

up robust features,加速健壮特征)或orb(oriented fast and rotated brief,定向快速旋转)算法。之后,执行主体可以采用预设的特征匹配算法,通过相邻两个第一局部图像中匹配的关键点对,确定出相邻两个第一局部图像的单
应矩阵。例如可以是暴力匹配(brute force)、随机一致性采样或k

最近邻算法。最后,执行主体基于单应矩阵,对相邻两个第一局部图像作透视变换,依次将相邻两个第一局部图像拼接,从而得到第一全景图像。
52.本公开的生成全景图像的方法,通过第一预设姿态采集得到的第一图像帧单应性相关,且相机的最大视场角在第一图像帧中的覆盖范围是以对角线为中心线的中间区域,第一局部图像则是从相机的最大视场角在第一图像帧中的覆盖范围中提取出的图像区域,省略了识别最大视场角的步骤,可以直接基于第一局部图像进行图像拼接,得到第一全景图像,并且,各个第一图像帧对应的相机姿态仅在水平方向上存在差异,简化了单应矩阵的计算过程,从而降低了全景图像生成过程中的数据运算量,提高了全景图像的生成效率。
53.在本实施例的一些可选的实现方式中,上述步骤130可以包括:调整第一局部图像在竖直方向上的畸变,得到调整后的第一局部图像;将调整后的第一局部图像拼接为第一全景图像。
54.实践中,径向畸变是导致图像畸变的主要因素,越靠近图像边缘畸变程度越大,具体包括竖直方向上两个边缘区域的畸变,以及水平方向上两个边缘区域的畸变。例如,可以导致图像内直线成弯曲状。为了降低全景图像的失真程度,在生成全景图像的过程中,通常需要在图像拼接前,对待拼接的图像进行畸变调整,其中包括两个方向上的畸变。
55.在本实现方式中,由于第一局部图像位于图像的中间区域,距离图像的水平方向上的边缘较远,因而第一局部图像在水平方向上的畸变程度较小,因此,本实现方式只需对第一局部图像在竖直方向上的畸变进行调整,即可降低拼接得到的第一全景图像失真程度,并进一步降低图像生成过程中的运算量。
56.在本实施例的一些可选的实现方式中,上述步骤130可以包括:基于预设的第一采样策略,从第一图像集中采样出第一预设数量的第一图像帧,作为第一候选图像帧,且相邻两个第一候选图像帧在水平方向上存在重合区域;从第一候选图像帧中提取出第一预设区域的图像。
57.在本实现方式中,执行主体可以首先对第一图像集进行下采样,得到数量较少的第一候选图像帧,然后基于第一候选图像帧进行第一局部图像的提取操作,可以缩减后续步骤中需要处理的图像处理的数量,从而进一步缩减图像生成过程中的运算量。
58.作为示例,第一采样策略可以是基于时间间隔的采样策略,例如,执行主体可以每隔预定时间从第一图像集中选取出一个第一图像帧,作为第一候选图像帧,该时间间隔可以根据相机采集图像的频率以及拍摄时旋转的速度确定。
59.再例如,第一采样策略还可以是基于数量的采样策略,执行主体可以每隔预定数量从第一图像集中选出一个第一图像帧,多为第一候选图像帧,该数量可以根据相邻两个第一图像帧中的重合区域的大小。
60.在本实施例的一些可选的实现方式中,第一预设宽度基于相机在相邻两个第一图像帧之间转过的角度、相机在水平方向上的最大视场角以及预先确定的第一全景图像的分辨率确定。
61.作为示例,假设相机在相邻两个第一图像帧之间旋转过的角度为a,预先确定的第一全景图像的分辨率宽度为w,第一图像帧的分辨率宽度为w,相机在水平方向上的最大视场角为fovh,则单位旋转角度对应的分辨率宽度为:w/fovh,则第一预设宽度为:a*w/fovh。
62.可以理解的是,待拼接的图像中重合区域越大,待拼接的图像中包括的特征点也就越多,图像拼接时的特征匹配程度也就越高,以此得到的全景图像的准确度也就越高。
63.在本实现方式中,执行主体可以根据第一预设宽度基于相机在相邻两个第一图像帧之间转过的角度、相机在水平方向上的最大视场角以及预先确定的第一全景图像的分辨率确定第一预设宽度,可以在相机的最大视场角的覆盖区域内提取出区域更大的第一局部图像,从而提高生成全景图像的准确度。
64.接着参考图4,图4示出了本公开的生成全景图像的又一个实施例的流程图,该流畅包括以下步骤410至步骤470。
65.步骤410、获取第一图像集。
66.步骤420、从第一图像帧中提取出第一预设区域的图像,作为待拼接的第一局部图像。
67.步骤430、将第一局部图像拼接为第一全景图像。
68.在本实施例中没步骤410至步骤430与前述步骤110至步骤130相对应,此处不再赘述。可以理解的是,前述步骤110至步骤130中的示例以及可选的实现方式也适用于本实施例。
69.步骤440、获取第二图像集。
70.其中,第二图像集包括相机以第二预设姿态绕竖直方向旋转时连续拍摄得到的多个第二图像帧,第二预设姿态为:相机的感光元件的对角线位于竖直平面内、且相机的镜头方向与水平面呈第二夹角;第二图像帧与第一图像帧在竖直方向上存在重合区域。
71.进一步结合图5对本实施例中的第二预设姿态进行示例性说明,其中,图5(a)为智能手机200的第一视角(主视方向),图5(b)为智能手机200的第二视角(侧视方向),β为摄像头210的镜头方向与水平面的第二夹角。通过图2和图5可以看出,第二图像帧与第一图像帧相比,仅在竖直方向的拍摄角度不同。
72.在一个具体的示例中,用户可以手持相机,先以第一预设姿态旋转一周(第一夹角例如可以是30
°
),拍摄得到第一图像集;然后将相机的镜头方向调整为第二夹角(例如可以是

30
°
),再旋转一周,拍摄得到第二图像集。
73.步骤450、从第二图像帧中提取出第二预设区域的图像,作为待拼接的第二局部图像。
74.其中,第二预设区域为相对于对角线对称的、第二预设宽度的区域,相邻两个第二局部图像在水平方向上存在重合区域。
75.在本实施例中,第二预设宽度与第一预设宽度,可以相同也可以不同,本公开对此不做限定。
76.在本实施例的一些可选的实现方式中,第二预设宽度基于相机在相邻两个第二图像帧之间转过的角度、相机在水平方向上的最大视场角以及预先确定的第二全景图像的分辨率以及确定。
77.本实现方式与前文中第一预设宽度的确定方式相近,此处不再赘述。
78.步骤460、将第二局部图像拼接为第二全景图像。
79.此步骤与前述步骤430或步骤130相对应,此处不再赘述。
80.步骤470、将第一全景图像和第二全景图像拼接为第三全景图像。
81.在本实施例中,第一图像帧与第二图像帧在竖直方向上存在重合区域,则第一全景图像与第二全景图像在竖直方向上同样存在重合区域,且第一全景图像与第二全景图像单应性相关,因此,可以将第一全景图像和第二全景图像视为两个待拼接的图像,通过上述实施例中的图像拼接算法,可以将第一全景图像和第二全景图像拼接位第三全景图像。
82.可以理解的是,通过拼接局部图像得到的全景图像可以克服镜头在水平方向上的视场角的限制,360
°
呈现真实场景中位于同一高度的特定区域,然而,全景图像在竖直方向上的覆盖范围仍然受到镜头在竖直方向上的视场角的限制。
83.相关技术中,为了使得全景图像呈现的真实场景的范围更大,往往需要在一个场景中进行多次旋转拍摄,以采集获取不同高度的场景图像。
84.结合实例进行举例说明,假设最终的全景图像(即第三全景图像)需要呈现场景中0.5米到2米的高度范围。当用户采用普通拍摄方式(即相机屏幕的一个边平行于水平方向)时,可以首先以仰视的姿态在场景中旋转一周,拍摄场景中较高区域的图像,此时得到的全景图像可以呈现场景中的较高区域(例如可以是1.5米到2米的高度范围);之后,可以平视的姿态在场景中旋转一周,拍摄场景中平视区域的图像,此时得到的全景图像可以呈现场景中的平视区域(例如可以死1米到1.5米的高度范围);然后,可以俯视的姿态在场景中旋转一周,拍摄场景中较低区域的图像,此时得到全景图像可以呈现场景中的较低区域(例如可以是0.5米到1米的高度范围)。最后,再将这3个全景图像拼接为最终的全景图像,则最终的全景图像可以呈现场景中0.5米到2米的高度范围内的区域。
85.作为对比,用户可以首先采用第一预设姿态在场景中旋转拍摄一周,得到的第一全景图像可以呈现场景中1米到2米的高度范围;之后,用户可以采用第二预设姿态在场景中旋转拍摄一周,得到的第二全景图像可以呈现场景中0.5米到1.5米的高度范围;然后,将第一全景图像与第二图全景图像拼接,得到的第三全景图像即可呈现场景中0.5米到2米的高度范围。
86.与相关技术相比,本实施例中生成全景图像的方法,采集第一图像帧和第二图像帧时,相机的感光元件的对角线在水平面内的投影平行于镜头方向,增大了第一图像帧和第二图像帧在竖直方向上的覆盖范围,由此得到的第一全景图像和第二全景图像在竖直方向上呈现的真实场景区域更大。如此,可以通过更少的旋转拍摄次数,获得相同或更大的覆盖范围的第三全景图像,从而进一步提高全景图像的生成效率。
87.在本实施例的一些可选的实现方式中,上述步骤460可以包括:调整第二局部图像在竖直方向上的畸变,得到调整后的第二局部图像;将调整后的第二局部图像拼接为第二全景图像。
88.本实现方式与前文中第一局部图像的畸变调整步骤相对应,此处不再赘述。
89.在本实施例的一些可选的实现方式中,上述步骤450可以包括:基于预设的第二采样策略,从第二图像集中采样出第二预设数量的第二图像帧,作为第二候选图像帧,且相邻两个第二候选图像帧在水平方向上存在重合区域;从第二候选图像帧中提取出第二预设区域的图像。
90.本实现方式与前文中第一候选图像帧的采样步骤相对应,此处不再赘述。
91.请参考图6,图6示出了本公开的生成全景图像的装置的一个实施例的结构示意图,如图6所示,该装置包括:第一图像获取单元610,被配置成:获取第一图像集,第一图像
集包括相机以第一预设姿态绕竖直方向旋转时连续拍摄得到的多个第一图像帧,第一预设姿态为:相机的感光元件的对角线位于竖直平面内、且相机的镜头方向与水平面呈第一夹角;第一图像提取单元620,被配置成:从第一图像帧中提取出第一预设区域的图像,作为待拼接的第一局部图像,第一预设区域为相对于对角线对称的、第一预设宽度的区域,相邻两个第一局部图像在水平方向上存在重合区域;第一图像拼接单元630,被配置成将第一局部图像拼接为第一全景图像。
92.在本实施例中,第一图像拼接单元630,包括:第一畸变调整模块,被配置成调整第一局部图像在竖直方向上的畸变,得到调整后的第一局部图像;第一图像拼接模块,被配置成将调整后的第一局部图像拼接为第一全景图像。
93.在本实施例中,第一图像提取单元620包括:第一图像采样模块,被配置成:基于预设的第一采样策略,从第一图像集中采样出第一预设数量的第一图像帧,作为第一候选图像帧,且相邻两个第一候选图像帧在水平方向上存在重合区域;第一图像提取模块,被配置成从第一候选图像帧中提取出第一预设区域的图像。
94.在本实施例中,第一预设宽度基于相机在相邻两个第一图像帧之间转过的角度以及预先确定的第一全景图像的分辨率确定。
95.在本实施例中,该装置还包括:第二图像获取单元,被配置成:获取第二图像集,第二图像集包括相机以第二预设姿态绕竖直方向旋转时连续拍摄得到的多个第二图像帧,第二预设姿态为:相机的感光元件的对角线位于竖直平面内、且相机的镜头方向与水平面呈第二夹角;第二图像帧与第一图像帧在竖直方向上存在重合区域;第二图像提取单元,被配置成:从第二图像帧中提取出第二预设区域的图像,作为待拼接的第二局部图像,第二预设区域为相对于对角线对称的、第二预设宽度的区域,相邻两个第二局部图像在水平方向上存在重合区域;第二图像拼接单元,被配置成将第二局部图像拼接为第二全景图像;以及,第三图像拼接单元,被配置成将第一全景图像和第二全景图像拼接为第三全景图像。
96.在本实施例中,第二预设宽度基于相机在相邻两个第二图像帧之间转过的角度以及预先确定的第二全景图像的分辨率以及确定。
97.在本实施例中,第二图像拼接单元,包括:第二畸变调整模块,被配置成调整第二局部图像在竖直方向上的畸变,得到调整后的第二局部图像;第二图像拼接模块,被配置成将调整后的第二局部图像拼接为第二全景图像。
98.在本实施例中,第二图像提取单元,包括:第二图像采样模块,被配置成:基于预设的第二采样策略,从第二图像集中采样出第二预设数量的第二图像帧,作为第二候选图像帧,且相邻两个第二候选图像帧在水平方向上存在重合区域;第二图像提取模块,被配置成从第二候选图像帧中提取出第二预设区域的图像。
99.另外,本公开实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的生成全景图像的方法。
100.图7为本公开电子设备一个应用实施例的结构示意图。下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
101.如图7所示,电子设备包括一个或多个处理器和存储器。
102.处理器可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
103.存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的生成图像的以及/或者其他期望的功能。
104.在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
105.此外,该输入设备还可以包括例如键盘、鼠标等等。
106.该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
107.当然,为了简化,图7中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
108.除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的生成图像的步骤。
109.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
110.此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的生成图像的中的步骤。
111.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
112.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光
盘等各种可以存储程序代码的介质。
113.以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
114.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
115.本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
116.可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
117.还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
118.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
119.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献