CN115499594A - 全景图像生成方法及计算机可读存储介质 - Google Patents
全景图像生成方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115499594A CN115499594A CN202211213675.5A CN202211213675A CN115499594A CN 115499594 A CN115499594 A CN 115499594A CN 202211213675 A CN202211213675 A CN 202211213675A CN 115499594 A CN115499594 A CN 115499594A
- Authority
- CN
- China
- Prior art keywords
- mark
- mobile terminal
- determining
- preset
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/02—Constructional features of telephone sets
- H04M1/0202—Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
- H04M1/026—Details of the structure or mounting of specific components
- H04M1/0264—Details of the structure or mounting of specific components for a camera module assembly
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
本公开的实施例公开了一种全景图像生成方法及计算机可读存储介质。该方法包括:在移动终端上的预设位置显示第一标记;为移动终端确定用于图像拍摄的第一姿态;在以移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与第一姿态对应的第一位置;在移动终端上的与第一位置映射的第二位置显示第二标记;在检测到第一标记与第二标记满足预设对齐条件的情况下,控制移动终端进行图像拍摄,得到第一拍摄图像;基于第一拍摄图像,生成全景图像。本公开的实施例中,通过操作移动终端即可高效可靠地实现全景图像的生成,无需利用专业设备,因此能够摆脱对专业设备的依赖性,克服目前的全景图像生成方式的局限性。
Description
技术领域
本公开涉及图像拼接技术领域,尤其涉及一种全景图像生成方法及计算机可读存储介质。
背景技术
目前,全景图像的生成需要利用专业设备,例如需要利用三脚架+全景相机+专业的全景图像生成平台,或者需要利用三脚架+全景云台+相机+专业的全景图像生成平台,由于对专业设备的依赖性,目前的全景图像生成方式具有较强的局限性。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种全景图像生成方法及计算机可读存储介质。
根据本公开实施例的一个方面,提供了一种全景图像生成方法,包括:
在移动终端上的预设位置显示第一标记;
为所述移动终端确定用于图像拍摄的第一姿态;
在以所述移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与所述第一姿态对应的第一位置;
在所述移动终端上的与所述第一位置映射的第二位置显示第二标记;
在检测到所述第一标记与所述第二标记满足预设对齐条件的情况下,控制所述移动终端进行图像拍摄,得到第一拍摄图像;
基于所述第一拍摄图像,生成全景图像。
根据本公开实施例的另一个方面,提供了一种全景图像生成装置,包括:
第一显示模块,用于在移动终端上的预设位置显示第一标记;
第一确定模块,用于为所述移动终端确定用于图像拍摄的第一姿态;
第二确定模块,用于在以所述移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与所述第一姿态对应的第一位置;
第二显示模块,用于在所述移动终端上的与所述第一位置映射的第二位置显示第二标记;
第一拍摄模块,用于在检测到所述第一标记与所述第二标记满足预设对齐条件的情况下,控制所述移动终端进行图像拍摄,得到第一拍摄图像;
生成模块,用于基于所述第一拍摄图像,生成全景图像。
根据本公开实施例的再一个方面,提供了一种电子设备,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述全景图像生成方法。
根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时,实现上述全景图像生成方法。
根据本公开实施例的又一个方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器执行时实现上述全景图像生成方法。
本公开的实施例中,可以在移动终端上的预设位置显示第一标记,为移动终端确定用于图像拍摄的第一姿态,在以移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与第一姿态对应的第一位置,并在移动终端上的与第一位置映射的第二位置显示第二标记。这样,第二标记能够为用户对移动终端的旋转提供可靠的参考,用户只需通过旋转移动终端,使得第一标记与第二标记满足预设对齐条件,就能够触发移动终端进行图像拍摄,以得到与第一姿态对应的第一拍摄图像,以便将第一拍摄图像用于全景图像的生成。可见,本公开的实施例中,通过操作移动终端即可高效可靠地实现全景图像的生成,无需利用专业设备,因此能够摆脱对专业设备的依赖性,克服目前的全景图像生成方式的局限性。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的全景图像生成方法的流程示意图。
图2是本公开一示例性实施例中移动终端的界面示意图。
图3是本公开另一示例性实施例提供的全景图像生成方法的流程示意图。
图4是本公开再一示例性实施例提供的全景图像生成方法的流程示意图。
图5是本公开又一示例性实施例提供的全景图像生成方法的流程示意图。
图6是本公开又一示例性实施例提供的全景图像生成方法的流程示意图。
图7-1是本公开一示例性实施例中移动终端的界面示意图。
图7-2是本公开一示例性实施例中移动终端的另一界面示意图。
图8是本公开又一示例性实施例提供的全景图像生成方法的流程示意图。
图9是本公开又一示例性实施例提供的全景图像生成方法的流程示意图。
图10是本公开一示例性实施例中移动终端的界面示意图。
图11是本公开又一示例性实施例提供的全景图像生成方法的流程示意图。
图12是本公开一示例性实施例中虚拟三维坐标系中的球体的示意图。
图13是本公开又一示例性实施例提供的全景图像生成方法的流程示意图。
图14是本公开一示例性实施例提供的全景图像生成装置的结构示意图。
图15是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本公开一示例性实施例提供的全景图像生成方法的流程示意图。图1所示的方法可以应用于手机、平板电脑等移动终端,图1所示的方法可以包括步骤110、步骤120、步骤130、步骤140、步骤150和步骤160,下面对各步骤分别进行说明。
步骤110,在移动终端上的预设位置显示第一标记。
可选地,移动终端上的预设位置可以为预设终端的显示屏上的一个位置,例如为显示屏的中心,或者为显示屏的中轴线上距离显示屏顶端1/3、2/3位置处等。
可选地,第一标记可以为圆环标记或者类圆环标记,例如,如图2所示,第一标记可以为由相对的扇弧201和扇弧203组成的类圆环标记。当然,第一标记还可以为三角形标记、矩形标记、菱形标记等,在此不再一一列举。
步骤120,为移动终端确定用于图像拍摄的第一姿态。
需要说明的是,移动终端上可以设置有真实相机,这样,移动终端可以具有图像拍摄功能。
可选地,移动终端的拍摄对象可以为房屋的室内场景;移动终端用于图像拍摄的第一姿态可以呈旋转矩阵形式。
步骤130,在以移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与第一姿态对应的第一位置。
可选地,可以将显示屏的中心作为原点,进行三维坐标系的构建,以得到虚拟三维坐标系;其中,虚拟三维坐标系的XY平面可以与地面平行,虚拟三维坐标系的Z轴可以垂直于地面。
可选地,移动终端的姿态与虚拟三维坐标系中的位置之间可以具有唯一对应性,这样,已知移动终端的某一姿态,可以唯一确定虚拟三维坐标系中的一个位置,基于此,可以得到步骤130中的第一位置。
步骤140,在移动终端上的与第一位置映射的第二位置显示第二标记。
可选地,第二标记可以为圆形标记,例如,如图2所示,第二标记可以为实心圆标记205。当然,第二标记还可以为三角形标记、矩形标记、菱形标记等,在此不再一一列举。
可选地,与第一位置映射的第二位置可以为显示屏上的一个位置。
在步骤140中,可以利用计算机视觉技术,实现第二标记在与第一位置映射的第二位置的显示。
步骤150,在检测到第一标记与第二标记满足预设对齐条件的情况下,控制移动终端进行图像拍摄,得到第一拍摄图像。
需要说明的是,第一标记显示于显示屏的中心,第一标记与显示屏之间是相对不动的,第二标记显示于移动终端上与第一位置映射的第二位置,如果用户旋转移动终端,第二位置是会随着移动终端的旋转而发生变化的,相应地,第二标记与显示屏之间是有相对运动的。因此,在用户旋转移动终端的过程中,从用户视觉上来看,显示屏上的第一标记和第二标记的相对位置是会发生变化的。这样,通过移动终端的旋转,可以使第一标记与第二标记由不满足预设对齐条件变化至满足预设对齐条件;其中,第一标记与第二标记满足预设对齐条件可以是指:第一标记与第二标记位于显示屏上的相同位置(即预设位置)。
在一个例子中,第一标记和第二标记的相对位置如图2所示,此时,第一标记与第二标记不满足预设对齐条件,如果用户向右旋转移动终端,则可使第一标记与第二标记的距离逐渐较小,并最终使第一标记与第二标记满足预设对齐条件。
在第一标记与第二标记满足预设对齐条件的情况下,可以判定用户通过移动终端的旋转,使得移动终端的姿态对应至虚拟三维坐标系中时,得到的正好是第一位置,由此可以认为移动终端的当前姿态为步骤120中确定的第一姿态,这时,可以调用真实相机进行图像拍摄,以得到第一拍摄图像。
步骤160,基于第一拍摄图像,生成全景图像。
需要说明的是,通过执行步骤120为移动终端确定用于图像拍摄的第一姿态之后,通过执行步骤130至步骤150,可以得到第一拍摄图像,按照类似的方式,还可以为移动终端确定用于图像拍摄的其他姿态,并得到与其他姿态对应的其他拍摄图像,由此总共可以得到多帧拍摄图像。
在步骤160中,可以针对多帧拍摄图像,进行图像特征的提取、匹配,并进行图像之间的位置关系的全局优化,通过图像拼接实现全景图像的生成。
可选地,全景图像的长宽比可以为2:1。
可选地,在生成全景图像之后,可以基于全景图像,生成可供分享的虚拟现实(Virtual Reality,VR)链接。
本公开的实施例中,可以在移动终端上的预设位置显示第一标记,为移动终端确定用于图像拍摄的第一姿态,在以移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与第一姿态对应的第一位置,并在移动终端上的与第一位置映射的第二位置显示第二标记。这样,第二标记能够为用户对移动终端的旋转提供可靠的参考,用户只需通过旋转移动终端,使得第一标记与第二标记满足预设对齐条件,就能够触发移动终端进行图像拍摄,以得到与第一姿态对应的第一拍摄图像,以便将第一拍摄图像用于全景图像的生成。可见,本公开的实施例中,通过操作移动终端即可高效可靠地实现全景图像的生成,无需利用专业设备,因此能够摆脱对专业设备的依赖性,克服目前的全景图像生成方式的局限性。
在图1所示实施例的基础上,如图3所示,该方法还包括步骤141、步骤143、步骤145和步骤147。
步骤141,在虚拟三维坐标系中,确定以第一位置为中心,具有预设形状和预设尺寸,且垂直于第一连线的第一平面;其中,第一连线为原点与第一位置的连线。
可选地,预设形状可以为圆形、矩形、三角形等、在此不再一一列举。
可选地,在预设形状为矩形的情况下,预设尺寸可以包括长度和宽度,长度可以为0.3米、0.35米、0.4米等,宽度可以为0.3米、0.35米、0.4米等,在此不再一一列举。
步骤143,基于设置于移动终端的惯性测量单元(Inertial Measurement Unit,IMU)的采集数据,确定移动终端的当前姿态。
可选地,惯性测量单元可以包括加速度计、陀螺仪和磁力仪等;其中,加速度计可以用于采集加速度数据,陀螺仪可以用于采集角速度数据。
这样,在步骤143中,基于惯性测量单元的采集数据,可以高效可靠地确定移动终端的旋转信息,旋转信息可以呈四元数形式,基于旋转信息进行进一步计算,可以确定移动终端的当前姿态(其可以呈旋转矩阵形式)。
步骤145,确定虚拟相机设置于原点且被赋予当前姿态时,由虚拟相机发射的射线。
在将虚拟相机放置于虚拟三维坐标系的原点时,可以认为虚拟相机的位置是已知的;在虚拟相机被赋予当前姿态时,可以认为虚拟相机的姿态与移动终端的姿态保持一致,虚拟相机的视线方向可以认为是已知的。
在步骤145中,可以基于虚拟相机的位置和虚拟相机的视线方向,确定由虚拟相机发射的射线;其中,虚拟相机的位置用于作为射线的起点,虚拟相机的视线方向用于作为射线的发射方向。
步骤147,基于射线与第一平面之间的空间关系,确定第一标记与第二标记是否满足预设对齐条件。
在一种具体实施方式中,步骤147,包括以下至少一项:
在射线与第一平面之间的空间关系为不具有交点的情况下,确定第一标记与第二标记不满足预设对齐条件;
在射线与第一平面之间的空间关系为具有交点,且交点所在的位置与第一位置的距离小于预设距离的情况下,确定第一标记与第二标记满足预设对齐条件;
在射线与第一平面之间的空间关系为具有交点,且交点所在的位置与第一位置的距离大于或等于预设距离的情况下,确定第一标记与第二标记不满足预设对齐条件。
如果射线与第一平面之间的空间关系为不具有交点,可以认为射线无法与第一平面发生碰撞,移动终端未旋转到位(即未旋转至第一姿态),因此,可以确定第一标记与第二标记不满足预设对齐条件。
如果射线与第一平面之间的空间关系为具有交点,可以认为射线与第一平面发生碰撞,接下来可以基于交点所在的位置的坐标与第一位置的坐标,进行距离计算。如果计算出的距离小于预设距离,可以认为移动终端已旋转到位,那么可以确定第一标记与第二标记满足预设对齐条件;如果计算出的距离大于或等于预设距离,可以认为移动终端未旋转到位,那么可以确定第一标记与第二标记不满足预设对齐条件。
这样,通过射线与平面之间的碰撞检测,再结合距离比较,能够高效可靠地确定第一标记与第二标记是否满足预设对齐条件。
本公开的实施例中,通过针对第一位置,在虚拟三维坐标系中确定第一平面,并参考移动终端的当前姿态,在虚拟三维坐标系中设置虚拟相机,结合虚拟相机发射的射线与第一平面之间的空间关系,能够高效可靠地确定第一标记与第二标记是否满足预设对齐条件。
在一个可选示例中,第一标记包括边框;
该方法还包括:
在检测到第二标记完全位于边框内的情况下,确定第一标记与第二标记满足预设对齐条件;
在检测到第二标记至少部分位于边框外的情况下,确定第一标记与第二标记不满足预设对齐条件。
假设第一标记为圆环标记,则可以将圆环标记的圆环内圈作为第一标记的边框。
本公开的实施例中,可以定时或者不定时地检测第二标记是否完全位于第一标记的边框内。如果检测结果为是,则可以认为移动终端已旋转到位,那么可以确定第一标记与第二标记满足预设对齐条件;如果检测结果为否,则可以认为移动终端未旋转到位,那么可以确定第一标记与第二标记不满足预设对齐条件。这样,参考第二标记与第一标记的边框之间的位置关系,能够高效可靠地确定第一标记与第二标记是否满足预设对齐条件。
在图1所示实施例的基础上,如图4所示,步骤120包括步骤1201、步骤1203、步骤1205和步骤1207。
步骤1201,在控制移动终端进行图像拍摄,得到第二拍摄图像之后,确定第二拍摄图像中的特征点分布信息。
为了通过对多帧拍摄图像的图像拼接得到全景图像,需要控制移动终端依次进行多次图像拍摄,例如,可以先控制移动终端通过图像拍摄,得到第二拍摄图像,再控制移动终端进行图像拍摄,得到第一拍摄图像。
在得到第二拍摄图像之后,得到第一拍摄图像之前,可以通过对第二拍摄图像进行特征点检测,确定第二拍摄图像中的特征点分布信息。
可选地,特征点分布信息可以用于表征第二拍摄图像中特征点的疏密分布情况,较小图像区域内具有较多特征点的,该区域内的特征点分布较为密集,较大图像区域内具有较少特征点的,该区域内的特征点分布较为稀疏。
步骤1203,基于特征点分布信息,确定图像重叠率。
在步骤1203中,可以基于特征点分布信息,确定第二图像边缘的特征点分布情况,并参考第二图像边缘的特征点分布情况,从预设重叠率范围内选择一个重叠率作为图像重叠率。
可选地,预设重叠率范围可以为10%至30%;图像重叠率与第二图像边缘的特征点的数量可以呈负相关。例如,如果第二图像边缘的特征点非常丰富,则图像重叠率可以为10%,如果第二图像边缘的特征点非常稀少,则图像重叠率可以为30%。
步骤1205,基于图像重叠率和设置于移动终端的真实相机的水平视场角,确定旋转角度。
需要说明的是,真实相机的水平视场角可以认为是移动终端的固有参数,真实相机的水平视场角可以直接通过读取移动终端的设备参数得到。
在步骤1205中,可以将图像重叠率和真实相机的水平视场角相乘,以得到一个图像重叠角度,并据此进一步确定旋转角度,确定出的旋转角度需要保证:在将移动终端以该旋转角度进行旋转之后,移动终端经图像拍摄得到的拍摄图像与第二拍摄图像之间的重叠部分正好具有该图像重叠角度。
步骤1207,基于移动终端得到第二拍摄图像时的第二姿态,以及旋转角度,为移动终端确定用于图像拍摄的第一姿态。
在步骤1207中,可以在第二姿态的基础上叠加一个相对旋转(即按照旋转角度进行的旋转),以得到另一个姿态,该姿态即可作为第一姿态。
步骤160,包括步骤1601。
步骤1601,基于第一拍摄图像和第二拍摄图像,进行图像拼接,以生成全景图像。
需要说明的是,用于生成全景图像的拍摄图像可以不仅仅包括第一拍摄图像和第二拍摄图像,还可以包括以与得到第一拍摄图像类似的方式得到的其他拍摄图像,由此总共可以得到多帧拍摄图像,通过利用图像拼接算法进行多帧拍摄图像的图像拼接,可以实现全景图像的生成。
本公开的实施例中,可以参考上一帧拍摄图像(例如第二拍摄图像)中的特征点分布信息,确定合适的图像重叠率和合适的旋转角度,以便合理确定移动终端在得到下一帧拍摄图像(例如第一拍摄图像)时的姿态,这样不仅能够使第一拍摄图像和第二图像拍摄具有足够的匹配特征点,从而有利于保证第一拍摄图像和第二拍摄图像的拼接效果,以尽量避免全景图像出现拼缝等缺陷,还能够尽量减少为了得到全景图像所需的图像拍摄次数,从而缩短得到全景图像所需的时间。
在图1所示实施例的基础上,如图5所示,该方法还包括步骤111和步骤113。
步骤111,将设置于移动终端的真实相机的垂直视场角与预设视场角进行比较,得到比较结果。
可选地,预设视场角可以为85度、90度、95度等,在此不再一一列举。
需要说明的是,真实相机的垂直视场角可以认为是移动终端的固有参数,真实相机的垂直视场角可以直接通过读取移动终端的设备参数得到。
在步骤111中,通过将垂直视场角度与预设视场角进行大小比较,可以得到比较结果,比较结果可以用于表征垂直视场角与预设视场角之间的大小关系。
步骤113,确定与比较结果匹配的图像拍摄策略。
在一种具体实施方式中,
在比较结果表征垂直视场角大于或等于预设视场角的情况下,图像拍摄策略可以为:采用一个俯仰角,以多个姿态分别进行图像拍摄;
在比较结果表征垂直视场角小于预设视场角的情况下,图像拍摄策略可以为:采用两个俯仰角中的每个俯仰角,以多个姿态分别进行图像拍摄。
步骤120,包括步骤1209。
步骤1209,基于图像拍摄策略,为移动终端确定用于图像拍摄的第一姿态。
假设比较结果表征垂直视场角大于或等于预设视场角,这说明真实相机在垂直方向的视场角足够大,因此,只需采用一个俯仰角,以多个姿态分别进行图像拍摄即可,这个俯仰角可以为一预定的俯仰角,例如为0度。
这样,具体实施时,基于图像拍摄策略,可以先为移动终端确定一个第一姿态(假设为P1),P1只需保证俯仰角为0度即可,后续可以控制移动终端在当前姿态为P1时进行图像拍摄;接下来,可以为移动终端确定另一个第一姿态(假设为P2),P2需要保证俯仰角为0度,且与P1之间有一定的旋转角度(旋转角度的计算方式参照图4所示实施例中的相关介绍即可),后续可以控制移动终端在当前姿态为P2时进行图像拍摄;之后,可以确定再一个第一姿态(假设其为P3),P3需要保证俯仰角为0度,且与P2之间有一定的旋转角度,后续可以控制移动终端在当前姿态为P2时进行图像拍摄;其他第一姿态的确定依此类推,直至在保证俯仰角为0度的前提下,进行了至少360度的图像拍摄(可以认为移动终端仅拍摄一圈图像)。
假设比较结果表征垂直视场角小于预设视场角,这说明真实相机在垂直方向的视场角不够大,因此,可以采用两个俯仰角中的每个俯仰角,以多个姿态分别进行图像拍摄,这两个俯仰角可以为预定的两个俯仰角α和β。
这样,具体实施时,基于图像拍摄策略,可以先确定俯仰角为α时的第一个第一姿态,以及确定俯仰角为β时的第一个第一姿态,然后确定俯仰角为α时的第二个第一姿态,以及确定俯仰角为β度时的第二个第一姿态,之后确定俯仰角为α度时的第三个第一姿态,再确定俯仰角为β时的第三个第一姿态,其他第一姿态的确定依此类推,直至在保证俯仰角为α的前提下,进行了至少360度的图像拍摄,且在保证俯仰角为β的前提下,进行了至少360度的图像拍摄(可以认为移动终端拍摄了两圈图像)。
可选地,俯仰角为α时的第一个第一姿态对应的第一拍摄图像,以及俯仰角为β时的第一个第一姿态对应的第一拍摄图像可以组成第一对拍摄图像,俯仰角为α时的第二个第一姿态对应的第一拍摄图像,以及俯仰角为β时的第二个第一姿态对应的第一拍摄图像可以组成第二对拍摄图像,按照类似的方式,总共可以得到多对拍摄图像。需要说明的是,α和β的取值需要合理设定,以保证每对拍摄图像中的两帧拍摄图像进行图像拼接时,能够达到较好的拼接效果。
本公开的实施例中,参考垂直视场角与预设视场角的比较结果,可以合理确定图像拍摄策略,即确定到底是采集一圈图像还是采集两圈图像,这样既能够保证全景图像的图像效果,又能够尽量减少为了得到全景图像所需的图像拍摄次数,从而缩短得到全景图像所需的时间。
在图1所示实施例的基础上,如图6所示,步骤140,包括步骤1401和步骤1403。
步骤1401,在移动终端对应的屏幕坐标系中,确定与第一位置映射的第二位置。
可选地,移动终端对应的屏幕坐标系可以为以移动终端的显示屏的左上顶点、左下顶点或者其他位置为原点建立的二维坐标系。
在步骤1401中,可以基于屏幕坐标系与虚拟三维坐标系之间的转换关系,将虚拟三维坐标系中的第一位置高效可靠地映射至屏幕坐标系中,从而确定出第二位置。
步骤1403,在第二位置位于移动终端的显示屏上的情况下,在第二位置显示第二标记。
该方法还包括步骤170。
步骤170,在第二位置不位于显示屏上的情况下,在显示屏上显示由第一位置指向第二位置的引导标志。
需要说明的是,由于显示屏所能够呈现的画面视场角是有效的,第二位置可能位于显示屏上,也可能不位于显示屏上。有鉴于此,在确定第二位置之后,可以判断第二位置是否位于显示屏上。
如果判断结果为是,可以直接在第二位置显示第二标记,这时,第二标记能够为用户对移动终端的旋转提供参考,用户可以通过旋转移动终端,快速地令第一标记与第二标记满足预设对齐条件。
如果判断结果为否,可以显示由第一位置指向第二位置的引导标记,引导标记可以为引导线、引导箭头等。通过引导标记的指示作用,用户能够明确如何操作移动终端能够快速找到第二标记,例如,如果引导标记为图7-1中的引导线701,则用户可以通过向右旋转移动终端快速找到第二标记,如果引导标记为图7-2中的引导线703,则用户可以通过向左旋转移动终端快速找到第二标记。在找到第二标记之后,用户可以通过进一步旋转移动终端,快速地令第一标记与第二标记满足预设对齐条件。
本公开的实施例中,根据第二位置是否位于显示屏上,可以进行第二标记的显示或者进行引导标志的形式,这样有利于尽快使第一标记与第二标记满足预设对齐条件,从而有利于缩短得到全景图像所需的时间。
在图1所示实施例的基础上,如图8所示,步骤150,包括步骤1501、步骤1503和步骤1505。
步骤1501,在检测到第一标记与第二标记满足预设对齐条件的情况下,控制移动终端进行对焦处理。
可选地,在检测到第一标记与第二标记满足预设对齐条件的情况下,可以控制移动终端采用主动式对焦算法进行对焦处理。
步骤1503,确定第一标记与第二标记满足预设对齐条件的持续时长。
在步骤1503中,可以从第一标记与第二标记满足预设对齐条件的时刻开始计时,根据计时时长,可以高效可靠地确定第一标记与第二标记满足预设对齐条件的持续时长。
步骤1505,在持续时长大于或等于预设时长的情况下,控制经对焦处理后的移动终端进行图像拍摄。
可选地,预设时长可以为经统计得到的大多数终端进行对焦处理所需的最长时长。
在步骤1505中,可以将持续时长与预设时长进行比较。
在比较结果为持续时长大于或等于预设时长的情况下,可以认为移动终端已成功完成对焦,这时,可以控制经对焦处理后的移动终端进行图像拍摄,这样能够较好地保证经图像拍摄得到的第一拍摄图像的图像效果。
在比较结果为持续时长小于预设时长的情况下,可以认为移动终端未完成对焦,这时,可以不触发移动终端的图像拍摄,如果用户希望移动终端进行图像拍摄,用户可以通过操作移动终端,使第一标记与第二标记满足预设对齐条件,且满足预设对齐条件的持续时长达到预设时长。
本公开的实施例中,通过持续时长的运用,能够保证第一拍摄图像是移动终端在对焦处理完成之后得到的图像,这样能够尽量避免拍摄图像出现运动模糊的情况,从而有利于保证最终生成的全景图像的图像效果。
在一个可选示例中,该方法还包括:
在检测到第一标记与第二标记满足预设对齐条件的情况下,在移动终端上显示倒计时器;
控制倒计时器进行倒计时;其中,倒计时器的倒计时时长为预设时长。
可选地,倒计时器可以为圆形进度条的形式或者为长形进度条的形式。
本公开的实施例中,在第一标记与第二标记满足预设对齐条件的持续时长达到预设时长之前,可以在移动终端的显示屏上的任意合适的位置进行倒计时器的显示,倒计时器的显示能够起到较好的提示作用,以告知用户保持移动终端的稳定,暂时不要旋转移动终端。在第一标记与第二标记满足预设对齐条件的持续时长达到预设时长之后,可以消除倒计时器的显示。
在图1所示实施例的基础上,如图9所示,该方法还包括步骤180和步骤190。
步骤180,基于设置于移动终端的惯性测量单元的采集数据,确定移动终端的当前姿态。
需要说明的是,步骤180的具体实施方式参照对步骤143的说明即可,在此不再赘述。
步骤190,在当前姿态满足预设倾斜条件的情况下,控制移动终端输出回正提示信息。
在步骤190中,参考当前姿态,可以判断移动终端的显示屏左右倾斜的角度(此时,显示屏与地面可以是垂直的)是否大于预设角度。可选地,预设角度可以为8度、10度、12度等。
如果显示屏左右倾斜的角度大于预设角度,可以判定当前姿态满足预设倾斜条件,这时,可以进行回正提示信息的输出。可选地,可以在显示屏上显示图10所示的回正箭头901和手机图标903,回正箭头901和手机图标903的组合作为回正提示信息,当然,回正提示信息也可以为语音形式或者其他形式,例如,移动终端可以语音播放“手机向左倾斜,请摆正”。
本公开的实施例中,在移动终端满足预设倾斜条件的情况下,可以通过回正提示信息的输出,提示用户摆正移动终端,从而避免移动终端的倾斜影响到后续生成的全景图像的图像效果。
在图1所示实施例的基础上,如图11所示,步骤130包括步骤1301和步骤1303。
步骤1301,在以移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定以原点为球心,具有预设半径的球体。
可选地,预设半径可以为2米、2.5米、3米等,在此不再一一列举。
步骤1303,在球体的球面上,确定与第一姿态对应的第一位置。
在一种具体实施方式中,
在球体的球面上,确定与第一姿态对应的第一位置之前,该方法还包括:
控制移动终端进行图像拍摄,得到第二拍摄图像;其中,移动终端得到第二拍摄图像时为第二姿态,虚拟三维坐标系中的第三位置与第二姿态对应,第三位置位于第二平面,第二平面为球体中的预设平面或者与预设平面平行;
在球体的球面上,确定与第一姿态对应的第一位置,包括:
在第二平面上,确定与第一姿态对应的第一位置;其中,第一位置与第二平面的中心的连线为第二连线,第三位置与第二平面的中心的连线为第三连线,第二连线与第三连线的夹角为第一姿态相对于第二姿态的旋转角度;
基于第一拍摄图像,生成全景图像,包括:
基于第一拍摄图像和第二拍摄图像,进行图像拼接,以生成全景图像。
可选地,预设平面可以为球体中的赤道平面。
为了通过对多帧拍摄图像的图像拼接得到全景图像,需要控制移动终端依次进行多次图像拍摄,例如,可以先控制移动终端通过图像拍摄,得到第二拍摄图像,再控制移动终端进行图像拍摄,得到第一拍摄图像。
为了便于理解,这里以移动终端仅拍摄一圈图像的情况为例进行说明。
在第二拍摄图像为这一圈图像中的第一帧拍摄图像的情况下,可以按照一定的规则,定义图12中所示的球体的球面上的某一个位置为与第二姿态对应的第三位置,例如,可以将图12中赤道平面上的位置A作为第三位置。
在第二姿态与第一姿态均已知的情况下,可以高效可靠地确定第二姿态相对于第一姿态的旋转角度,假设确定出的旋转角度为γ,且球体的球心为O,则可以在赤道平面上,从位置A开始,沿顺时针方向(当然,在一些实施例中,也可以是沿逆时针方向)找到位置B,使得OA(相当于上文中的第三连线)与OB(相当于上文中的第二连线)的夹角正好为γ,位置B即可作为与第一姿态对应的第一位置。
在确定位置B之后,位置B可以作为新的第二位置,按照与上面两段中类似的方式,可以确定出作为新的第一位置的位置C,后续依此类推,直至在保证俯仰角为0度的前提下,进行了至少360度的图像拍摄,也即,这时确定出了图12中的位置A、位置B、位置C、位置D、位置E、位置F,且通过图像拍摄,得到了位置A、位置B、位置C、位置D、位置E、位置F各自对应的拍摄图像,通过利用图像拼接算法对这些拍摄图像进行拼接,可以生成全景图像。
需要说明的是,移动终端拍摄两圈图像的情况下第一位置的确定方式与移动终端仅拍摄一圈图像的情况下第一位置的确定方式是类似的,区别仅在于,移动终端拍摄两圈图像的情况下,第一位置可以在与赤道平面平行的平面上确定。
本公开的实施例中,通过在虚拟三维坐标系中确定球体,利用非常简单的运算方式,即可高效可靠地在球体的球面上确定与第一姿态对应的第一位置。
在一个可选示例中,如图13所示,为了实现全景图像的生成,首先可以判定手机是否设置有IMU。
如果手机未设置IMU,则手机无法采集旋转信息,本公开的实施例中的全景图像生成方法结束。
如果手机设置有IMU,则可以获取手机相机(相当于上文中的真实相机)的视场角(FOV)信息。如果基于FOV信息确定手机相机的垂直FOV大于或等于90度,则可以默认拍摄一圈图像,否则,可以默认拍摄两圈图像。接下来,可以开始正式的图像拍摄。
在正式图像拍摄的过程中,手机显示屏的中心可以长驻对焦圈(相当于上文中的第一标记),用户可以四处移动手机,以在手机显示屏上发现可以对齐的蓝点(相当于上文中的第二标记)。如果手机显示屏上没有蓝点,则可以进行引导标志的显示,以帮助用户迅速找到蓝点。如果手机左右倾斜角度大于10度,则手机显示屏上可以显示扶正图标(相当于上文中的回正提示信息)。
在用户找到蓝点之后,用户可以通过旋转手机,使对焦圈完整框住蓝点(相当于上文中的第一标记与第二标记满足预设对齐条件),这时,可以触发相机对焦拍摄。可选地,拍摄前可以进行倒计时引导(对应上文中的显示倒计时器),拍摄完成后可以播放拍摄成功提示音和/或画面提示。
在用户根据引导,依次对齐完所有蓝点,以使手机得到多帧拍摄图像之后,可以将多帧拍摄图像依次堆叠在显示屏上的对应位置视角。最后可以通过对多帧拍摄图像的拼接,得到长度比为2:1的全景图像。
本公开的实施例提供的任一种全景图像生成方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种全景图像生成方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种全景图像生成方法。下文不再赘述。
示例性装置
图14是本公开一示例性实施例提供的全景图像生成装置的结构示意图,图14所示的装置包括第一显示模块1410、第一确定模块1420、第二确定模块1430、第二显示模块1440、第一拍摄模块1450和生成模块1460。
第一显示模块1410,用于在移动终端上的预设位置显示第一标记;
第一确定模块1420,用于为移动终端确定用于图像拍摄的第一姿态;
第二确定模块1430,用于在以移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与第一姿态对应的第一位置;
第二显示模块1440,用于在移动终端上的与第一位置映射的第二位置显示第二标记;
第一拍摄模块1450,用于在检测到第一标记与第二标记满足预设对齐条件的情况下,控制移动终端进行图像拍摄,得到第一拍摄图像;
生成模块1460,用于基于第一拍摄图像,生成全景图像。
在一个可选示例中,该装置还包括:
第三确定模块,用于在虚拟三维坐标系中,确定以第一位置为中心,具有预设形状和预设尺寸,且垂直于第一连线的第一平面;其中,第一连线为原点与第一位置的连线;
第四确定模块,用于基于设置于移动终端的惯性测量单元的采集数据,确定移动终端的当前姿态;
第五确定模块,用于确定虚拟相机设置于原点且被赋予当前姿态时,由虚拟相机发射的射线;
第六确定模块,用于基于射线与第一平面之间的空间关系,确定第一标记与第二标记是否满足预设对齐条件。
在一个可选示例中,第六确定模块,包括以下至少一项:
第一确定子模块,用于在射线与第一平面之间的空间关系为不具有交点的情况下,确定第一标记与第二标记不满足预设对齐条件;
第二确定子模块,用于在射线与第一平面之间的空间关系为具有交点,且交点所在的位置与第一位置的距离小于预设距离的情况下,确定第一标记与第二标记满足预设对齐条件;
第三确定子模块,用于在射线与第一平面之间的空间关系为具有交点,且交点所在的位置与第一位置的距离大于或等于预设距离的情况下,确定第一标记与第二标记不满足预设对齐条件。
在一个可选示例中,第一标记包括边框;
该装置还包括:
第七确定模块,用于在检测到第二标记完全位于边框内的情况下,确定第一标记与第二标记满足预设对齐条件;
第八确定模块,用于在检测到第二标记至少部分位于边框外的情况下,确定第一标记与第二标记不满足预设对齐条件。
在一个可选示例中,第二确定模块1430,包括:
第四确定子模块,用于在以移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定以原点为球心,具有预设半径的球体;
第五确定子模块,用于在球体的球面上,确定与第一姿态对应的第一位置。
在一个可选示例中,
该装置还包括:
第二拍摄模块,用于在球体的球面上,确定与第一姿态对应的第一位置之前,控制移动终端进行图像拍摄,得到第二拍摄图像;其中,移动终端得到第二拍摄图像时为第二姿态,虚拟三维坐标系中的第三位置与第二姿态对应,第三位置位于第二平面,第二平面为球体中的预设平面或者与预设平面平行;
第五确定子模块,具体用于:
在第二平面上,确定与第一姿态对应的第一位置;其中,第一位置与第二平面的中心的连线为第二连线,第三位置与第二平面的中心的连线为第三连线,第二连线与第三连线的夹角为第一姿态相对于第二姿态的旋转角度;
生成模块1460,具体用于:
基于第一拍摄图像和第二拍摄图像,进行图像拼接,以生成全景图像。
在一个可选示例中,
第一确定模块1420,包括:
第六确定子模块,用于在控制移动终端进行图像拍摄,得到第二拍摄图像之后,确定第二拍摄图像中的特征点分布信息;
第七确定子模块,用于基于特征点分布信息,确定图像重叠率;
第八确定子模块,用于基于图像重叠率和设置于移动终端的真实相机的水平视场角,确定旋转角度;
第九确定子模块,用于基于移动终端得到第二拍摄图像时的第二姿态,以及旋转角度,为移动终端确定用于图像拍摄的第一姿态;
生成模块1460,包括:
基于第一拍摄图像和第二拍摄图像,进行图像拼接,以生成全景图像。
在一个可选示例中,
该装置还包括:
比较模块,用于将设置于移动终端的真实相机的垂直视场角与预设视场角进行比较,得到比较结果;
第九确定模块,用于确定与比较结果匹配的图像拍摄策略;
第一确定模块1420,具体用于:
基于图像拍摄策略,为移动终端确定用于图像拍摄的第一姿态。
在一个可选示例中,
在比较结果表征垂直视场角大于或等于预设视场角的情况下,图像拍摄策略包括:采用一个俯仰角,以多个姿态分别进行图像拍摄;
在比较结果表征垂直视场角小于预设视场角的情况下,图像拍摄策略包括:采用两个俯仰角中的每个俯仰角,以多个姿态分别进行图像拍摄。
在一个可选示例中,
第二显示模块1440,包括:
第十确定子模块,用于在移动终端对应的屏幕坐标系中,确定与第一位置映射的第二位置;
显示子模块,用于在第二位置位于移动终端的显示屏上的情况下,在第二位置显示第二标记;
该装置还包括:
第三显示模块,用于在第二位置不位于显示屏上的情况下,在显示屏上显示由第一位置指向第二位置的引导标志。
在一个可选示例中,第一拍摄模块1450,包括:
对焦处理子模块,用于在检测到第一标记与第二标记满足预设对齐条件的情况下,控制移动终端进行对焦处理;
第十一确定子模块,用于确定第一标记与第二标记满足预设对齐条件的持续时长;
拍摄子模块,用于在持续时长大于或等于预设时长的情况下,控制经对焦处理后的移动终端进行图像拍摄。
在一个可选示例中,该装置还包括:
第四显示模块,用于在检测到第一标记与第二标记满足预设对齐条件的情况下,在移动终端上显示倒计时器;
倒计时模块,用于控制倒计时器进行倒计时;其中,倒计时器的倒计时时长为预设时长。
在一个可选示例中,该装置还包括:
第十确定模块,用于基于设置于移动终端的惯性测量单元的采集数据,确定移动终端的当前姿态;
输出模块,用于在当前姿态满足预设倾斜条件的情况下,控制移动终端输出回正提示信息。
示例性电子设备
下面,参考图15来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图15图示了根据本公开实施例的电子设备1500的框图。
如图15所示,电子设备1500包括一个或多个处理器1510和存储器1520。
处理器1510可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1500中的其他组件以执行期望的功能。
存储器1520可以存储一个或多个计算机程序产品,所述存储器1520可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序产品,处理器1510可以运行所述计算机程序产品,以实现上文所述的本公开的各个实施例的全景图像生成方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备1500还可以包括:输入装置1530和输出装置1540,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在电子设备1500是第一设备或第二设备时,该输入装置1530可以是麦克风或麦克风阵列。在电子设备1500是单机设备时,该输入装置1530可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置1530还可以包括例如键盘、鼠标等等。
该输出装置1540可以向外部输出各种信息。该输出装置1540可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图15中仅示出了该电子设备1500中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1500还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的全景图像生成方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的全景图像生成方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (14)
1.一种全景图像生成方法,其特征在于,包括:
在移动终端上的预设位置显示第一标记;
为所述移动终端确定用于图像拍摄的第一姿态;
在以所述移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与所述第一姿态对应的第一位置;
在所述移动终端上的与所述第一位置映射的第二位置显示第二标记;
在检测到所述第一标记与所述第二标记满足预设对齐条件的情况下,控制所述移动终端进行图像拍摄,得到第一拍摄图像;
基于所述第一拍摄图像,生成全景图像。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述虚拟三维坐标系中,确定以所述第一位置为中心,具有预设形状和预设尺寸,且垂直于第一连线的第一平面;其中,所述第一连线为所述原点与所述第一位置的连线;
基于设置于所述移动终端的惯性测量单元的采集数据,确定所述移动终端的当前姿态;
确定虚拟相机设置于所述原点且被赋予所述当前姿态时,由所述虚拟相机发射的射线;
基于所述射线与所述第一平面之间的空间关系,确定所述第一标记与所述第二标记是否满足预设对齐条件。
3.根据权利要求2所述的方法,其特征在于,所述基于所述射线与所述第一平面之间的空间关系,确定所述第一标记与所述第二标记是否满足预设对齐条件,包括以下至少一项:
在所述射线与所述第一平面之间的空间关系为不具有交点的情况下,确定所述第一标记与所述第二标记不满足预设对齐条件;
在所述射线与所述第一平面之间的空间关系为具有交点,且所述交点所在的位置与所述第一位置的距离小于预设距离的情况下,确定所述第一标记与所述第二标记满足预设对齐条件;
在所述射线与所述第一平面之间的空间关系为具有交点,且所述交点所在的位置与所述第一位置的距离大于或等于预设距离的情况下,确定所述第一标记与所述第二标记不满足预设对齐条件。
4.根据权利要求1所述的方法,其特征在于,所述第一标记包括边框;
所述方法还包括:
在检测到所述第二标记完全位于所述边框内的情况下,确定所述第一标记与所述第二标记满足预设对齐条件;
在检测到所述第二标记至少部分位于所述边框外的情况下,确定所述第一标记与所述第二标记不满足预设对齐条件。
5.根据权利要求1所述的方法,其特征在于,所述在以所述移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定与所述第一姿态对应的第一位置,包括:
在以所述移动终端上的预设位置为原点构建的虚拟三维坐标系中,确定以所述原点为球心,具有预设半径的球体;
在所述球体的球面上,确定与所述第一姿态对应的第一位置。
6.根据权利要求5所述的方法,其特征在于,
所述在所述球体的球面上,确定与所述第一姿态对应的第一位置之前,所述方法还包括:
控制所述移动终端进行图像拍摄,得到第二拍摄图像;其中,所述移动终端得到所述第二拍摄图像时为第二姿态,所述虚拟三维坐标系中的第三位置与所述第二姿态对应,所述第三位置位于第二平面,所述第二平面为所述球体中的预设平面或者与所述预设平面平行;
所述在所述球体的球面上,确定与所述第一姿态对应的第一位置,包括:
在所述第二平面上,确定与所述第一姿态对应的第一位置;其中,所述第一位置与所述第二平面的中心的连线为第二连线,所述第三位置与所述第二平面的中心的连线为第三连线,所述第二连线与所述第三连线的夹角为所述第一姿态相对于所述第二姿态的旋转角度;
所述基于所述第一拍摄图像,生成全景图像,包括:
基于所述第一拍摄图像和所述第二拍摄图像,进行图像拼接,以生成全景图像。
7.根据权利要求1所述的方法,其特征在于,
所述为所述移动终端确定用于图像拍摄的第一姿态,包括:
在控制所述移动终端进行图像拍摄,得到第二拍摄图像之后,确定所述第二拍摄图像中的特征点分布信息;
基于所述特征点分布信息,确定图像重叠率;
基于所述图像重叠率和设置于所述移动终端的真实相机的水平视场角,确定旋转角度;
基于所述移动终端得到所述第二拍摄图像时的第二姿态,以及所述旋转角度,为所述移动终端确定用于图像拍摄的第一姿态;
所述基于所述第一拍摄图像,生成全景图像,包括:
基于所述第一拍摄图像和所述第二拍摄图像,进行图像拼接,以生成全景图像。
8.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
将设置于所述移动终端的真实相机的垂直视场角与预设视场角进行比较,得到比较结果;
确定与所述比较结果匹配的图像拍摄策略;
所述为所述移动终端确定用于图像拍摄的第一姿态,包括:
基于所述图像拍摄策略,为所述移动终端确定用于图像拍摄的第一姿态。
9.根据权利要求8所述的方法,其特征在于,
在所述比较结果表征所述垂直视场角大于或等于所述预设视场角的情况下,所述图像拍摄策略包括:采用一个俯仰角,以多个姿态分别进行图像拍摄;
在所述比较结果表征所述垂直视场角小于所述预设视场角的情况下,所述图像拍摄策略包括:采用两个俯仰角中的每个俯仰角,以多个姿态分别进行图像拍摄。
10.根据权利要求1所述的方法,其特征在于,
所述在所述移动终端上的与所述第一位置映射的第二位置显示第二标记,包括:
在所述移动终端对应的屏幕坐标系中,确定与所述第一位置映射的第二位置;
在所述第二位置位于所述移动终端的显示屏上的情况下,在所述第二位置显示第二标记;
所述方法还包括:
在所述第二位置不位于所述显示屏上的情况下,在所述显示屏上显示由所述第一位置指向所述第二位置的引导标志。
11.根据权利要求1所述的方法,其特征在于,所述在检测到所述第一标记与所述第二标记满足预设对齐条件的情况下,控制所述移动终端进行图像拍摄,包括:
在检测到所述第一标记与所述第二标记满足预设对齐条件的情况下,控制所述移动终端进行对焦处理;
确定所述第一标记与所述第二标记满足预设对齐条件的持续时长;
在所述持续时长大于或等于预设时长的情况下,控制经对焦处理后的所述移动终端进行图像拍摄。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
在检测到所述第一标记与所述第二标记满足预设对齐条件的情况下,在所述移动终端上显示倒计时器;
控制所述倒计时器进行倒计时;其中,所述倒计时器的倒计时时长为所述预设时长。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于设置于所述移动终端的惯性测量单元的采集数据,确定所述移动终端的当前姿态;
在所述当前姿态满足预设倾斜条件的情况下,控制所述移动终端输出回正提示信息。
14.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时,实现上述权利要求1至13中任一项所述的全景图像生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211213675.5A CN115499594B (zh) | 2022-09-30 | 2022-09-30 | 全景图像生成方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211213675.5A CN115499594B (zh) | 2022-09-30 | 2022-09-30 | 全景图像生成方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499594A true CN115499594A (zh) | 2022-12-20 |
CN115499594B CN115499594B (zh) | 2023-06-30 |
Family
ID=84472506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211213675.5A Active CN115499594B (zh) | 2022-09-30 | 2022-09-30 | 全景图像生成方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499594B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002213984A (ja) * | 2001-01-12 | 2002-07-31 | Oojisu Soken:Kk | パノラマ画像による案内システム、中央装置及び端末装置、並びにコンピュータプログラム及び記録媒体 |
WO2014091736A1 (ja) * | 2012-12-10 | 2014-06-19 | パナソニック株式会社 | パノラマ展開画像表示装置 |
US20160381286A1 (en) * | 2015-06-24 | 2016-12-29 | Beijing Lenovo Software Ltd. | Control Method, Camera Device and Electronic Equipment |
CN107911621A (zh) * | 2017-12-28 | 2018-04-13 | 深圳市酷开网络科技有限公司 | 一种全景图像的拍摄方法、终端设备以及存储介质 |
CN108171759A (zh) * | 2018-01-26 | 2018-06-15 | 上海小蚁科技有限公司 | 双鱼眼镜头全景相机的标定方法及装置、存储介质、终端 |
CN110769240A (zh) * | 2019-08-23 | 2020-02-07 | 上海亦我信息技术有限公司 | 基于拍照的3d建模系统及方法、自动3d建模装置及方法 |
CN111415386A (zh) * | 2020-03-16 | 2020-07-14 | 贝壳技术有限公司 | 拍摄设备位置提示方法、装置、存储介质及电子设备 |
CN111432119A (zh) * | 2020-03-27 | 2020-07-17 | 贝壳技术有限公司 | 图像拍摄方法、装置、计算机可读存储介质及电子设备 |
WO2022022715A1 (zh) * | 2020-07-30 | 2022-02-03 | 华为技术有限公司 | 一种拍摄方法及设备 |
-
2022
- 2022-09-30 CN CN202211213675.5A patent/CN115499594B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002213984A (ja) * | 2001-01-12 | 2002-07-31 | Oojisu Soken:Kk | パノラマ画像による案内システム、中央装置及び端末装置、並びにコンピュータプログラム及び記録媒体 |
WO2014091736A1 (ja) * | 2012-12-10 | 2014-06-19 | パナソニック株式会社 | パノラマ展開画像表示装置 |
US20160381286A1 (en) * | 2015-06-24 | 2016-12-29 | Beijing Lenovo Software Ltd. | Control Method, Camera Device and Electronic Equipment |
CN107911621A (zh) * | 2017-12-28 | 2018-04-13 | 深圳市酷开网络科技有限公司 | 一种全景图像的拍摄方法、终端设备以及存储介质 |
CN108171759A (zh) * | 2018-01-26 | 2018-06-15 | 上海小蚁科技有限公司 | 双鱼眼镜头全景相机的标定方法及装置、存储介质、终端 |
CN110769240A (zh) * | 2019-08-23 | 2020-02-07 | 上海亦我信息技术有限公司 | 基于拍照的3d建模系统及方法、自动3d建模装置及方法 |
CN111415386A (zh) * | 2020-03-16 | 2020-07-14 | 贝壳技术有限公司 | 拍摄设备位置提示方法、装置、存储介质及电子设备 |
CN111432119A (zh) * | 2020-03-27 | 2020-07-17 | 贝壳技术有限公司 | 图像拍摄方法、装置、计算机可读存储介质及电子设备 |
WO2022022715A1 (zh) * | 2020-07-30 | 2022-02-03 | 华为技术有限公司 | 一种拍摄方法及设备 |
Non-Patent Citations (3)
Title |
---|
RAMIN GHAZNAVI YOUVALARI: "Efficient Coding of 360-Degree Pseudo-Cylindrical Panoramic Video for Virtual Reality Applications", 《2016 IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA (ISM)》 * |
吴彩林: "全景拼接中的图像配准算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
苍雁飞: "组合式建筑立面全景图像的渐晕校正", 《计算机仿真》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115499594B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6704014B2 (ja) | モバイル装置の全方向立体撮影 | |
US10212337B2 (en) | Camera augmented reality based activity history tracking | |
CN108805917B (zh) | 空间定位的方法、介质、装置和计算设备 | |
CN108573530B (zh) | 增强现实ar交互方法及系统 | |
US20180343388A1 (en) | Image processing device, image processing method, and recording medium storing program | |
CN110249626B (zh) | 增强现实图像的实现方法、装置、终端设备和存储介质 | |
JP6476657B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
CN111432119B (zh) | 图像拍摄方法、装置、计算机可读存储介质及电子设备 | |
CN114399597A (zh) | 场景空间模型的构建方法、装置以及存储介质 | |
CN106384065B (zh) | 显示控制方法和装置 | |
CN114125268A (zh) | 对焦方法及装置 | |
EP3660780A1 (en) | Method and apparatus for acquiring images, acquisition device, and computer storage medium | |
CN114004890B (zh) | 姿态确定方法、装置、电子设备和存储介质 | |
US10748333B2 (en) | Finite aperture omni-directional stereo light transport | |
US11100617B2 (en) | Deep learning method and apparatus for automatic upright rectification of virtual reality content | |
CN113034347A (zh) | 倾斜摄影图像处理方法、装置、处理设备及存储介质 | |
CN115499594B (zh) | 全景图像生成方法及计算机可读存储介质 | |
WO2022206728A1 (zh) | 实时取景方法、全景相机及计算机可读存储介质 | |
CN109559382A (zh) | 智能导游方法、装置、终端和介质 | |
JP2016139199A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP7439398B2 (ja) | 情報処理装置、プログラム及び情報処理システム | |
CN103856704A (zh) | 一种移动终端3d拍摄的方法和装置 | |
CN113596336B (zh) | 图像获取方法及装置、电子设备及存储介质 | |
JP2021089487A (ja) | 画像処理装置、プログラム及び画像処理システム | |
CN113382166B (zh) | 摄像设备光心对齐方法和装置、存储介质、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |