场景的全景拍摄方法、装置及终端设备转让专利

申请号 : CN201710676496.8

文献号 : CN107465906B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张学勇

申请人 : OPPO广东移动通信有限公司

摘要 :

本发明提出一种场景的全景拍摄方法、装置及终端设备,其中,方法包括:接收启动指令启动3D扫描获取3D图像;其中,所述3D图像为对实际场景进行结构光图像处理后生成的;同步控制从拍摄设备启动3D扫描获取3D图像;接收每个从拍摄设备发送的所述3D图像;基于所有的3D图像,形成所述实际场景的全景3D图像。通过该方法,能够获得三维的立体全景图像,使用户可以观看到场景中各个角度的内容,提升了用户体验,解决了现有技术中平面全景图像缺乏立体感、无法全角度观看的技术问题。

权利要求 :

1.一种场景的全景拍摄方法,其特征在于,包括:

接收启动指令启动3D扫描获取3D图像;其中,所述3D图像为对实际场景进行结构光图像处理后生成的,其中,所述3D扫描由3D扫描装置实现,所述3D扫描装置由光学投射器和摄像头组成,所述光学投射器用于向所述实际场景投射结构光,所述摄像头用于获取光条二维图像,以根据所述光条二维图像获得所述3D图像,所述结构光为非均匀的结构光,所述非均匀的结构光为多个光斑的集合构成的散斑图案或乱点图案,由所述光学投射器中的衍射光学元件形成,所述衍射光学元件上设置有一定数量的浮雕,所述浮雕的凹槽深度不同;

同步控制从拍摄设备启动3D扫描获取3D图像;

接收每个从拍摄设备发送的所述3D图像;

基于所有的3D图像,形成所述实际场景的全景3D图像。

2.根据权利要求1所述的方法,其特征在于,所述基于所有的3D图像,形成所述实际场景的全景3D图像,包括:从所述从拍摄设备发送的所述3D图像中,提取所述从拍摄设备的标识;

根据所述标识获取所述从拍摄设备对应的扫描区域;其中,每个拍摄设备对应所述实际场景中不同的扫描区域;

以其中一个扫描区域作为参考扫描区域,将所述参考扫描区域对应的3D图像作为参考

3D图像;

按照剩余的所述扫描区域与所述参考扫描区域之间的位置关系,从所述参考3D图像开始为剩余的3D图像进行排序,并按照顺序对剩余的3D图像进行拼接,形成所述全景3D图像。

3.根据权利要求1所述的方法,其特征在于,所述基于所有的3D图像,形成所述实际场景的全景3D图像,包括:识别每帧3D图像的相邻3D图像;

对相邻的两帧3D图像进行边界确认,获取相邻的两帧3D图像的重叠区域;

从其中一个3D图像开始,对相邻的两帧3D图像在所述重叠区域进行拼接,直至所有3D图像拼接完成形成所述全景3D图像。

4.根据权利要求3所述的方法,其特征在于,所述对相邻的两帧3D图像在所述重叠区域进行拼接,包括:获取相邻的两帧3D图像中所述重叠区域的分辨率;

将相邻的两帧3D图像中分辨率高的3D图像中的所述重叠区域保留;

删除相邻的两帧3D图像中分辨率低的3D图像中的所述重叠区域;

将处理后的相邻的两帧3D图像进行拼接。

5.根据权利要求3所述的方法,其特征在于,所述对相邻的两帧3D图像在所述重叠区域进行拼接,包括:从相邻的两帧3D图像中分别保留一半重叠区域,将处理后的相邻的两帧3D图像进行拼接;其中,两帧3D图像中所保留的一半重叠区域形成一整个所述重叠区域。

6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于所有的3D图像,形成所述实际场景的全景3D图像之后,还包括:接收播放指令,根据所述播放指令播放所述全景3D图像;

在播放所述全景3D图像的过程中,接收编辑指令,根据所述编辑指令对所述全景3D图像进行编辑。

7.根据权利要求1-5任一项所述的方法,其特征在于,所述接收启动指令启动3D扫描获取3D图像,包括:按照预设的扫描角度向所述实际场景发射结构光;

采集所述结构光在所述实际场景上的反射光并形成所述实际场景的深度信息,并根据所述深度信息形成所述3D图像。

8.一种场景的全景拍摄装置,其特征在于,包括:

启动模块,用于接收启动指令启动3D扫描获取3D图像;其中,所述3D图像为对实际场景进行结构光图像处理后生成的,其中,所述3D扫描由3D扫描装置实现,所述3D扫描装置由光学投射器和摄像头组成,所述光学投射器用于向所述实际场景投射结构光,所述摄像头用于获取光条二维图像,以根据所述光条二维图像获得所述3D图像,所述结构光为非均匀的结构光,所述非均匀的结构光为多个光斑的集合构成的散斑图案或乱点图案,由所述光学投射器中的衍射光学元件形成,所述衍射光学元件上设置有一定数量的浮雕,所述浮雕的凹槽深度不同;

控制模块,用于同步控制从拍摄设备启动3D扫描获取3D图像;

接收模块,用于接收每个从拍摄设备发送的所述3D图像;

形成模块,用于基于所有的3D图像,形成所述实际场景的全景3D图像。

9.一种终端设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行如权利要求1-7中任一所述的场景的全景拍摄方法。

10.一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如权利要求1-7中任一项所述的场景的全景拍摄方法。

说明书 :

场景的全景拍摄方法、装置及终端设备

技术领域

[0001] 本发明涉及移动终端技术领域,尤其涉及一种场景的全景拍摄方法、装置及终端设备。

背景技术

[0002] 全景照片可以把一个场景的信息一览无余地展示给用户,使用户观看之后感受到场景的恢弘气势,给用户一种震撼的感觉,全景照片越来越受到用户的喜爱。
[0003] 目前,越来越多的终端设备内置的相机支持全景拍摄,然而,使用现有的全景拍摄技术拍摄的照片都是二维的平面图像,缺乏立体感,且用户只能查看全景照片所呈现角度的内容,无法实现全角度观看,体验感不佳。

发明内容

[0004] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005] 本发明提出了一种场景的全景拍摄方法,通过多个拍摄设备对实际场景进行结构光图像处理后生成3D图像,基于所有的3D图像形成实际场景的全景3D图像,能够获得三维的立体全景图像,使用户可以观看到场景中各个角度的内容,提升了用户体验,解决了现有技术中平面全景图像缺乏立体感、无法全角度观看的技术问题。
[0006] 本发明还提出一种了场景的全景拍摄装置。
[0007] 本发明还提出了一种终端设备。
[0008] 本发明还提出了一个或多个包含计算机可执行指令的非易失性计算机可读存储介质。
[0009] 本发明第一方面实施例提出了一种场景的全景拍摄方法,包括:
[0010] 接收启动指令启动3D扫描获取3D图像;其中,所述3D图像为对实际场景进行结构光图像处理后生成的;
[0011] 同步控制从拍摄设备启动3D扫描获取3D图像;
[0012] 接收每个从拍摄设备发送的所述3D图像;
[0013] 基于所有的3D图像,形成所述实际场景的全景3D图像。
[0014] 本发明实施例的场景的全景拍摄方法,通过接收启动指令启动3D扫描获取3D图像,同步控制从拍摄设备启动3D扫描获取3D图像,并接收每个从拍摄设备发送的3D图像,进而基于所有的3D图像形成实际场景的全景3D图像。由此,能够获得三维的立体全景图像,使用户可以观看到场景中各个角度的内容,提升了用户体验。与现有技术相比,通过多个设备启动3D扫描获取3D图像,基于所有的3D图像形成全景3D图像,可以获得三维的全景图像,进而能够解决现有技术仅能获取二维的全景图像,缺乏立体感,无法实现全角度观看的技术问题。
[0015] 本发明第二方面实施例提出了一种场景的全景拍摄装置,包括:
[0016] 启动模块,用于接收启动指令启动3D扫描获取3D图像;其中,所述3D图像为对实际场景进行结构光图像处理后生成的;
[0017] 控制模块,用于同步控制从拍摄设备启动3D扫描获取3D图像;
[0018] 接收模块,用于接收每个从拍摄设备发送的所述3D图像;
[0019] 形成模块,用于基于所有的3D图像,形成所述实际场景的全景3D图像。
[0020] 本发明实施例的场景的全景拍摄装置,通过接收启动指令启动3D扫描获取3D图像,同步控制从拍摄设备启动3D扫描获取3D图像,并接收每个从拍摄设备发送的3D图像,进而基于所有的3D图像形成实际场景的全景3D图像。由此,能够获得三维的立体全景图像,使用户可以观看到场景中各个角度的内容,提升了用户体验。与现有技术相比,通过多个设备启动3D扫描获取3D图像,基于所有的3D图像形成全景3D图像,可以获得三维的全景图像,进而能够解决现有技术仅能获取二维的全景图像,缺乏立体感,无法实现全角度观看的技术问题。
[0021] 本发明第三方面实施例提出了一种终端设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行如第一方面实施例所述的场景的全景拍摄方法。
[0022] 本发明第四方面实施例提出了一种非易失性计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如第一方面实施例所述的场景的全景拍摄方法。
[0023] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0024] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0026] 图1为本发明一实施例提出的场景的全景拍摄方法的流程示意图;
[0027] 图2为3D扫描装置的示意图;
[0028] 图3为本发明实施例提供的均匀结构光的示意图;
[0029] 图4为本发明另一实施例提出的场景的全景拍摄方法的流程示意图;
[0030] 图5为本发明实施例中非均匀的结构光的示意图;
[0031] 图6为本发明还一实施例提出的场景的全景拍摄方法的流程示意图;
[0032] 图7为本发明又一实施例提出的场景的全景拍摄方法的流程示意图;
[0033] 图8为本发明一实施例提出的场景的全景拍摄装置的结构示意图;
[0034] 图9为本发明另一实施例提出的场景的全景拍摄装置的结构示意图;
[0035] 图10为本发明一实施例提出的终端中的图像处理电路的结构示意图。

具体实施方式

[0036] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0037] 下面参考附图描述本发明实施例的场景的全景拍摄方法、装置及终端设备。
[0038] 结构光技术可以实现3D扫描和3D建模,在移动终端设备中的使用将越来越广泛,用户可以将获取的3D信息应用于终端设备中,比如更换终端设备的背景、在游戏中创建虚拟人物等。
[0039] 然而,对于大型的场景,比如音乐会现场,无法使用一台设备获得整个场景的信息,仅能获得局部场景的3D图像。
[0040] 针对上述问题,本发明实施例提出了一种场景的全景拍摄方法,可以获得三维的立体全景图像,使用户可以观看到场景中各个角度的内容。
[0041] 图1为本发明一实施例提出的场景的全景拍摄方法的流程示意图。
[0042] 如图1所示,该场景的全景拍摄方法包括以下步骤:
[0043] 步骤101,接收启动指令启动3D扫描获取3D图像,其中,3D图像为对实际场景进行结构光图像处理后生成的。
[0044] 其中,已知空间方向光束的投影集合称为结构光(structured light)。
[0045] 3D扫描可以由3D扫描装置实现,3D扫描装置可以由光学投射器和摄像头组成,其中,光学投射器用于向被测物体投射结构光。作为一种示例,图2为3D扫描装置的示意图。图2中仅以结构光的投影集合为线的集合进行示例,对于投影集合为散斑图案的结构光的原理类似。如图2所示,该3D扫描装置中可以包括光学投射器和摄像机,其中,光学投射器将一定模式的结构光投射于被测物体所处的空间内,在被测物体表面上形成由物体表面的形状所调制的光条的三维图像。该三维图像由处于另一位置的摄像机探测,从而获得畸变的光条二维图像。光条的畸变程度取决于光学投射器与摄像机之间的相对位置和用户身体表面的轮廓,直观上,沿光条显示出的位移(或偏移)与物体表面的高度成比例,扭曲表示了平面的变化,不连续显示了物体表面的物理间隙,当光学投射器与摄像机之间的相对位置一定时,由畸变的光条二维图像坐标即可重现被测物体表面的三维轮廓,即获得3D图像。
[0046] 作为一种示例,可以采用公式(1)计算获得3D图像,其中,公式(1)如下所示:
[0047]
[0048] 其中,(x,y,z)为获取的3D图像的坐标,b为投射装置与摄像头之间的基线间距,F为摄像头的焦距,θ为投射装置向被测物体所处的空间投射预设的结构光图案时的投影角度,(x',y')为被测物体的二维畸变图像的坐标。
[0049] 作为一种示例,结构光的类型包括光栅型、光点型、斑纹型(包括圆形斑纹和十字斑纹),如图3所示,上述结构光是均匀排布的。对应地,生成结构光的设备可以是将光点、线、光栅、格网或斑纹投影到被测物体上的某种投影设备或仪器,比如光学投射器,也可以是生成激光束的激光器。
[0050] 基于上述3D图像成像原理,本实施例中,可以在所拍摄实际场景内设置多台拍摄设备,每台设备中均设置有3D扫描装置,并将其中一台拍摄设备作为主拍摄设备,将其他设备作为从拍摄设备,主拍摄设备可以向从拍摄设备发送控制指令,还可以接收从拍摄设备返回的信息。进一步地,可以将实际场景均匀划分为多个区域,每个拍摄设备单独负责一个区域;或者,可以将实际场景按照不同的角度进行划分,并为每个拍摄设备分配预设的拍摄角度。
[0051] 在进行实际场景的拍摄时,可以由用户对主拍摄设备进行控制,当主拍摄设备接收到用户的拍摄指令时,主拍摄设备可以认为接收到启动指令,此时启动主拍摄设备中安装的3D扫描装置。3D扫描装置中的光学投射器向所拍摄场景投射结构光,结构光在所拍摄场景内的物体/人体表面发生发射,并在物体/人体表面形成三维图像。该三维图像由3D扫描装置中的摄像头探测,形成结构光图像,及二维畸变图像。进而对结构光图像进行处理后,可以获得物体/人体的深度信息,基于所得深度信息,可以生成3D图像。
[0052] 步骤102,同步控制从拍摄设备启动3D扫描获取3D图像。
[0053] 本实施例中,在主拍摄设备接收到启动指令启动3D扫描获取3D图像的同时,主拍摄设备同步控制从拍摄设备启动3D扫描获取3D图像,以获取实际场景内各个角度的3D图像。
[0054] 步骤103,接收每个从拍摄设备发送的3D图像。
[0055] 从拍摄设备获取了所拍摄场景的3D图像之后,可以将获取的3D图像实时发送给主拍摄设备,由主拍摄设备接收每个从拍摄设备发送的3D图像。同时,主拍摄设备接收了每个从拍摄设备发送的3D图像之后,控制所有从拍摄设备关闭,以节省能耗和拍摄资源。
[0056] 步骤104,基于所有的3D图像,形成实际场景的全景3D图像。
[0057] 本实施例中,主拍摄设备接收到每个从拍摄设备发送的3D图像之后,可以进一步基于所有的3D图像,形成所拍摄实际场景的全景3D图像。
[0058] 本实施例的场景的全景拍摄方法,通过接收启动指令启动3D扫描获取3D图像,同步控制从拍摄设备启动3D扫描获取3D图像,并接收每个从拍摄设备发送的3D图像,进而基于所有的3D图像形成实际场景的全景3D图像。由此,能够获得三维的立体全景图像,使用户可以观看到场景中各个角度的内容,提升了用户体验。与现有技术相比,通过多个设备启动3D扫描获取3D图像,基于所有的3D图像形成全景3D图像,可以获得三维的全景图像,进而能够解决现有技术仅能获取二维的全景图像,缺乏立体感,无法实现全角度观看的技术问题。
[0059] 进一步地,在本发明实施例一种可能的实现方式中,主拍摄设备基于所有的3D图像形成实际场景的全景3D图像之后,可以将全景3D图像存储在主机设备的本地存储器中,或者存储于云端,以便在想要观看时进行查看。
[0060] 当用户想要查看全景3D图像时,可以从全景3D图像的存储位置中找到该全景3D图像,用户点击该全景3D图像时,即发出了播放该全景3D图像的播放指令。主拍摄设备接收到用户发出的播放指令后,即可根据播放指令播放该全景3D图像。
[0061] 进一步地,在全景3D图像播放过程中,主拍摄设备还可以接收用户发出的编辑指令,并根据编辑指令对该全景3D图像进行编辑。比如,可以通过编辑在3D图像中插入文字、表情等,或者对全景3D图像的局部内容进行裁剪、放大、缩小等。
[0062] 通过接收播放指令播放全景3D图像,并在播放过程中根据接收的编辑指令对全景3D图像进行编辑,能够满足用户对全景3D图像的后期处理需求,进一步提升用户体验。
[0063] 为了更加清楚地说明接收启动指令启动3D扫描获取3D图像的具体实现过程,本发明实施例提出了另一种场景的全景拍摄方法。图4为本发明另一实施例提出的场景的全景拍摄方法的流程示意图。
[0064] 如图4所示,在如图1所示实施例的基础上,步骤101可以包括以下步骤:
[0065] 步骤201,按照预设的扫描角度向实际场景发射结构光。
[0066] 本实施例中,主拍摄设备接收到启动指令之后,可以按照预设的扫描角度向实际场景发射结构光。
[0067] 作为一种示例,可以在主拍摄设备中设置结构光投射器,在主拍摄设备接收到启动指令后,启动结构光投射器向预设角度的实际场景投射结构光。
[0068] 步骤202,采集结构光在实际场景上的反射光并形成实际场景的深度信息,并根据深度信息形成3D图像。
[0069] 当主拍摄设备中的结构光投射器向实际场景内投射的结构光到达实际场景内的物体/人体之后,由于物体/人体会对结构光造成阻碍,使结构光在物体/人体处发生反射,形成反射光。此时,可以通过主拍摄设备中安装的摄像头对结构光在实际场景内的物体/人体上形成的反射光进行采集,利用采集到的反射光形成实际场景的深度信息。进而,可以根据实际场景的深度信息形成实际场景的3D图像。
[0070] 具体地,可以从深度信息中提取用于形成3D图像的各特征点数据,进而根据提取的特征点数据,将这些特征点连接成网络。比如根据各个点在空间上的距离关系,将相同平面的点,或者距离在阈值范围内的点连接成三角形网络,进而将这些网络进行拼接,即可形成3D图像。
[0071] 本实施例的场景的全景拍摄方法,通过在接收到启动指令后按照预设的扫描角度向实际场景发射结构光,采集结构光在实际场景上的反射光并形成实际场景的深度信息,进而根据深度信息形成3D图像,能够获得预设角度内实际场景的三维立体图像,为获得实际场景的全景3D图像奠定基础。
[0072] 需要说明的是,从拍摄设备启动3D扫描获取3D图像的具体实现过程,可参见本实施例所述的主拍摄设备启动3D扫描获取3D图像的实现过程,其实现原理类似,本发明实施例不再进行具体描述。
[0073] 作为一种示例,上述实施例中采用的结构光可以为非均匀的结构光,非均匀的结构光为多个光斑的集合构成的散斑图案或乱点图案,是由设置在终端上的投射装置中的衍射光学元件形成的。
[0074] 图5为本发明实施例中非均匀的结构光的示意图。如图5所示,本发明实施例中采用的是非均匀的结构光,其中,非均匀的结构光为随机排列的散斑图案,也就是说,该非均匀的结构光为多个光斑的集合,且多个光斑之间采用不均匀的分散方式排布,进而构成一个散斑图案。由于散斑图案所占的存储空间较小,因而,投射装置运行时不会对终端设备的运行效率造成太大影响,能够节约终端的存储空间。
[0075] 此外,本发明实施例中采用的散斑图案,相较于其他现有的结构光类型而言,散列排布能够降低能量消耗,节省电量,提高终端的续航能力。
[0076] 在本发明实施例中,可以在电脑、手机、掌上电脑等具有拍摄功能的终端设备中设置投射装置和摄像头。投射装置向实际场景发射非均匀的结构光即散斑图案。具体地,可以利用投射装置中的衍射光学元件形成散斑图案,其中,该衍射光学元件上设置有一定数量的浮雕,不规则的散斑图案就由衍射光学元件上不规则的浮雕产生。本发明实施例中,浮雕凹槽深度和数量可以通过算法设置。
[0077] 其中,投射装置可以用于向被测对象所处的空间投射一个预设的散斑图案。摄像头可以用于对已投射散斑图案的被测对象进行采集,以得到带有散斑图案的被测对象的二维畸变图像。
[0078] 本发明实施例中,当终端设备接收到启动指令时,终端设备中的投射装置可以向预设扫描角度的实际场景投射预设的散斑图案,该散斑图案中具有多个散斑点,当该散斑图案被投射到实际场景内物体/人体表面上时,该散斑图案中的好多散斑点会由于物体/人体表面构造而发生偏移。通过终端设备的摄像头对用户的身体所反射的非均匀的结构光进行采集,得到带有散斑图案的实际场景的二维畸变图像。
[0079] 进一步地,将采集到的散斑图像与参考散斑图像按照预定算法进行图像数据计算,获取采集到的散斑图像的各个散斑点(特征点)相对于参考散斑点(参考特征点)的移动距离。最后根据该移动距离、参考散斑图像与终端上摄像头的距离以及投射装置与摄像头之间的相对间隔值,利用三角法得到散斑红外图像的各个散斑点的深度信息,进而获取到实际场景的深度信息,基于该深度信息可以形成实际场景的3D图像。
[0080] 对于前述实施例中提及的主拍摄设备基于所有的3D图像形成实际场景的全景3D图像的具体实现过程,本发明实施例提供了两种可能的实现方式。作为其中一种可能的实现方式,如图6所示,在如图1所示实施例的基础上,步骤104可以包括以下步骤:
[0081] 步骤301,从从拍摄设备发送的3D图像中,提取从拍摄设备的标识。
[0082] 本发明实施例中,通过设置多个拍摄设备实现实际场景的全景3D拍摄,其中包括一个主拍摄设备,其余的为从拍摄设备。为了对多个从拍摄设备进行区分,可以为各个从拍摄设备分别设置唯一的标识,作为从拍摄设备的身份标识。从而,本实施例中,可以设置从拍摄设备将获取的3D图像发送给主拍摄设备的同时,将自己的标识也发送给主拍摄设备,以使主拍摄设备获知发送3D图像的是哪个从拍摄设备。
[0083] 主拍摄设备接收到从拍摄设备发送的3D图像之后,可以从接收的3D图像中提取出从拍摄设备的标识。
[0084] 步骤302,根据标识获取从拍摄设备对应的扫描区域。
[0085] 其中,每个拍摄设备对应实际场景中不同的扫描区域。
[0086] 在启动3D扫描获取3D图像之前,可以为每个拍摄设备划分各自负责拍摄的扫描区域,各个拍摄设备仅获取所属扫描区域的3D图像,以避免获取的3D图像中存在重叠区域。
[0087] 从而,本实施例中,主拍摄设备从接收的3D图像中提取出从拍摄设备的标识之后,可以根据标识获取从拍摄设备对应的扫描区域。
[0088] 作为一种示例,可以将划分的各个扫描区域进行编号,并建立扫描区域的编号与负责该扫描区域的拍摄设备的标识之间的一一对应关系,从而,主拍摄设备提取出从拍摄设备的标识之后,通过查询扫描区域的编号与从拍摄设备的标识之间的对应关系,即可确定从拍摄设备对应的扫描区域。
[0089] 步骤303,以其中一个扫描区域作为参考扫描区域,将参考扫描区域对应的3D图像作为参考3D图像。
[0090] 步骤304,按照剩余的扫描区域与参考扫描区域之间的位置关系,从参考3D图像开始为剩余的3D图像进行排序,并按照顺序对剩余的3D图像进行拼接,形成全景3D图像。
[0091] 本实施例中,可以从划分的所有扫描区域中选择其中一个作为参考扫描区域,相应地,将参考扫描区域对应的3D图像作为参考3D图像。
[0092] 进一步地,可以按照剩余的扫描区域与参考扫描区域之间的位置关系,从参考3D图像开始对剩余的3D图像进行排序,并按照排好的顺序对剩余的3D图像进行拼接后形成全景3D图像。
[0093] 作为一种示例,可以对划分的扫描区域从1开始进行编号,比如,实际场景被划分为6个扫描区域,编号从左至右依次为1~6。假设选择编号为3的扫描区域为参考扫描区域,对应的3D图像为参考3D图像。按照所有扫描区域的编号,可以确定参考扫描区域左边为编号为2的扫描区域,编号为2的扫描区域左边为编号为1的扫描区域;参考扫描区域右边为编号为4的扫描区域,之后为编号为5的扫描区域,最右边为编号为6的扫描区域。按照确定的各个扫描区域相对于参考扫描区域的位置关系,将对应的3D图像按照相同的顺序从参考3D图像开始进行排序,按照排列顺序进行拼接后即可获得实际场景的全景3D图像。
[0094] 本实施例的场景的全景拍摄方法,通过从从拍摄设备发送的3D图像中提取从拍摄设备的标识,根据标识获取从拍摄设备对应的扫描区域,以其中一个扫描区域作为参考扫描区域,将参考扫描区域对应的3D图像作为参考3D图像,进而按照剩余的扫描区域与参考扫描区域之间的位置关系,从参考3D图像开始为剩余的3D图像进行排序,并按照顺序对剩余的3D图像进行拼接后形成全景3D图像,能够获得场景的三维全景图像,使用户可以观看到场景中不同角度的信息,提升了用户体验。
[0095] 在实际拍摄时,通常会在实际场景中设置较多的拍摄设备,以确保实际场景内的各个角度均能被覆盖,避免遗漏导致获取的全景图像不完整。在拍摄设备较多的情况下,难免各个拍摄设备获取的3D图像之间有重叠,基于此,本发明实施例提出了另一种实现主拍摄设备基于所有的3D图像形成实际场景的全景3D图像的可能实现方式,图7为本发明又一实施例提出的场景的全景拍摄方法的流程示意图。
[0096] 如图7所示,在如图1所示实施例的基础上,步骤104可以包括以下步骤:
[0097] 步骤401,识别每帧3D图像的相邻3D图像。
[0098] 由于对于同样的拍摄对象,不同的拍摄设备获取的3D图像的内容是相同的,当一帧3D图像中的部分内容与另一帧3D图像中的部分内容相同时,比如图像A中的右边部分的内容与图像B中左边部分的内容相同,不难确定图像A中的内容对应的区域与图像B中的内容对应的区域相邻,且图像A中的内容对应的区域处于图像B中的内容对应的区域的左侧。从而,本实施例中,可以根据3D图像与其他3D图像中包含的相同的内容,从所有的3D图像中,识别出每帧3D图像的相邻3D图像,
[0099] 步骤402,对相邻的两帧3D图像进行边界确认,获取相邻的两帧3D图像的重叠区域。
[0100] 本实施例中,对于相邻的两帧3D图像,可以将3D图像中包含的内容进行比较,对两帧3D图像中所包含的相同内容的边界进行确认,进而获取相邻的两帧3D图像的重叠区域。
[0101] 步骤403,从其中一个3D图像开始,对相邻的两帧3D图像在重叠区域进行拼接,直至所有3D图像拼接完成形成全景3D图像。
[0102] 作为一种示例,可以从其中一个3D图像开始,获取相邻的两帧3D图像中重叠区域的分辨率,将相邻的两帧3D图像中分辨率较高的3D图像中的重叠区域保留,而删除分辨率较低的3D图像中的重叠区域,进而将处理后的相邻的两帧3D图像进行拼接。继续从新拼接的3D图像开始,获取相邻两帧3D图像中重叠区域的分辨率,保留分辨率较高的3D图像中的重叠区域,删除分辨率较低的3D图像中的重叠区域,进而将处理后的相邻两帧的3D图像进行拼接。重复上述步骤,直至所有的3D图像均被拼接完成形成全景3D图像。
[0103] 作为另一种示例,可以从相邻的两帧3D图像中分别保留一半重叠区域,使两帧3D图像中所保留的一半重叠区域形成一整个重叠区域,进而将处理后的相邻的两帧3D图像进行拼接。重复上述步骤,直至所有的3D图像均拼接完成形成全景3D图像。
[0104] 本发明实施例的场景的全景拍摄方法,通过识别每帧3D图像的相邻3D图像,对相邻的两帧3D图像进行边界确认,获取相邻的两帧3D图像的重叠区域,从其中一个3D图像开始,对相邻的两帧3D图像在重叠区域进行拼接,直至所有的3D图像拼接完成形成全景3D图像,通过对重叠区域进行处理,能够在保证全景3D图像完整性的同时,避免全景3D图像中出现重复内容而影响图像质量。
[0105] 本发明还提出了一种场景的全景拍摄装置。
[0106] 图8为本发明一实施例提出的场景的全景拍摄装置的结构示意图。
[0107] 如图8所示,该场景的全景拍摄装置包括:启动模块810、控制模块820、接收模块830,以及形成模块840。其中,
[0108] 启动模块810,用于接收启动指令启动3D扫描获取3D图像,其中,3D图像为对实际场景进行结构光图像处理后生成的。
[0109] 控制模块820,用于同步控制从拍摄设备启动3D扫描获取3D图像。
[0110] 接收模块830,用于接收每个从拍摄设备发送的3D图像。
[0111] 形成模块840,用于基于所有的3D图像,形成实际场景的全景3D图像。
[0112] 进一步地,启动模块810启动3D扫描获取3D图像具体可以包括:按照预设的扫描角度向实际场景发射结构光;采集结构光在实际场景上的反射光并形成实际场景的深度信息,并根据深度信息形成3D图像。
[0113] 作为一种示例,结构光可以为非均匀的结构光。非均匀的结构光为多个光斑的集合构成的散斑图案或乱点图案,是由设置在终端上的投射装置中的衍射光学元件形成的,其中,衍射光学元件上设置有一定数量的浮雕,浮雕的凹槽深度不同。
[0114] 在本发明实施例一种可能的实现方式中,形成模块840具体用于:
[0115] 从从拍摄设备发送的3D图像中,提取从拍摄设备的标识;
[0116] 根据标识获取从拍摄设备对应的扫描区域,其中,每个拍摄设备对应实际场景中不同的扫描区域;
[0117] 以其中一个扫描区域作为参考扫描区域,将参考扫描区域对应的3D图像作为参考3D图像;
[0118] 按照剩余的扫描区域与参考扫描区域之间的位置关系,从参考3D图像开始为剩余的3D图像进行排序,并按照顺序对剩余的3D图像进行拼接,形成全景3D图像。
[0119] 在本发明实施例另一种可能的实现方式中,形成模块840具体还用于:
[0120] 识别每帧3D图像的相邻3D图像;
[0121] 对相邻的两帧3D图像进行边界确认,获取相邻的两帧3D图像的重叠区域;
[0122] 从其中一个3D图像开始,对相邻的两帧3D图像在重叠区域进行拼接,直至所有3D图像拼接完成形成全景3D图像。
[0123] 进一步地,可以采用不同的拼接方式对相邻的两帧3D图像在重叠区域进行拼接。作为其中一种可能的实现方式,可以获取相邻的两帧3D图像中重叠区域的分辨率,将相邻的两帧3D图像中分辨率高的3D图像中的重叠区域保留,删除相邻的两帧3D图像中分辨率低的3D图像中的重叠区域,进而将处理后的相邻的两帧3D图像进行拼接。作为其中另一种可能的实现方式,可以从相邻的两帧3D图像中分别保留一半重叠区域,将处理后的相邻的两帧3D图像进行拼接,其中,两帧3D图像中所保留的一半重叠区域形成一整个重叠区域。
[0124] 进一步地,在本发明实施例一种可能的实现方式中,如图9所示,在如图8所示实施例的基础上,该场景的全景拍摄装置还可以包括:
[0125] 播放模块850,用于接收播放指令,根据播放指令播放全景3D图像。
[0126] 编辑模块860,用于在播放全景3D图像的过程中,接收编辑指令,根据编辑指令对全景3D图像进行编辑。
[0127] 需要说明的是,前述对场景的全景拍摄方法实施例的解释说明也适用于本实施例的场景的全景拍摄装置,其实现原理类似,此处不再赘述。
[0128] 本实施例的场景的全景拍摄装置,通过接收启动指令启动3D扫描获取3D图像,同步控制从拍摄设备启动3D扫描获取3D图像,并接收每个从拍摄设备发送的3D图像,进而基于所有的3D图像形成实际场景的全景3D图像。由此,能够获得三维的立体全景图像,使用户可以观看到场景中各个角度的内容,提升了用户体验。与现有技术相比,通过多个设备启动3D扫描获取3D图像,基于所有的3D图像形成全景3D图像,可以获得三维的全景图像,进而能够解决现有技术仅能获取二维的全景图像,缺乏立体感,无法实现全角度观看的技术问题。
[0129] 本发明实施例还提供一种终端设备。上述终端设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义ISP(Image Signal Processing,图像信号处理)管线的各种处理单元。图10为本发明一实施例提出的终端中的图像处理电路的结构示意图。如图10所示,为便于说明,仅示出与本发明实施例相关的图像处理技术的各个方面。
[0130] 如图10所示,图像处理电路900包括成像设备910、ISP处理器930和控制逻辑器940。成像设备910可包括具有一个或多个透镜912、图像传感器914的照相机和结构光投射器916。结构光投射器916将结构光投影至被测物。其中,该结构光图案可为激光条纹、格雷码、正弦条纹、或者,随机排列的散斑图案等。图像传感器914捕捉投影至被测物形成的结构光图像,并将结构光图像发送至ISP处理器930,由ISP处理器930对结构光图像进行解调获取被测物的深度信息。同时,图像传感器914也可以捕捉被测物的色彩信息。当然,也可以由两个图像传感器914分别捕捉被测物的结构光图像和色彩信息。
[0131] 其中,以散斑结构光为例,ISP处理器930对结构光图像进行解调,具体包括,从该结构光图像中采集被测物的散斑图像,将被测物的散斑图像与参考散斑图像按照预定算法进行图像数据计算,获取被测物上散斑图像的各个散斑点相对于参考散斑图像中的参考散斑点的移动距离。利用三角法转换计算得到散斑图像的各个散斑点的深度值,并根据该深度值得到被测物的深度信息。
[0132] 当然,还可以通过双目视觉的方法或基于飞行时差TOF的方法来获取该深度图像信息等,在此不做限定,只要能够获取或通过计算得到被测物的深度信息的方法都属于本实施方式包含的范围。
[0133] 在ISP处理器930接收到图像传感器914捕捉到的被测物的色彩信息之后,可被测物的色彩信息对应的图像数据进行处理。ISP处理器930对图像数据进行分析以获取可用于确定和/或成像设备910的一个或多个控制参数的图像统计信息。图像传感器914可包括色彩滤镜阵列(如Bayer滤镜),图像传感器914可获取用图像传感器914的每个成像像素捕捉的光强度和波长信息,并提供可由ISP处理器930处理的一组原始图像数据。
[0134] ISP处理器930按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,ISP处理器930可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的图像统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
[0135] ISP处理器930还可从图像存储器920接收像素数据。图像存储器920可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括DMA(Direct Memory Access,直接直接存储器存取)特征。
[0136] 当接收到原始图像数据时,ISP处理器930可进行一个或多个图像处理操作。
[0137] 在ISP处理器930获取到被测物的色彩信息和深度信息后,可对其进行融合,得到三维图像。其中,可通过外观轮廓提取方法或轮廓特征提取方法中的至少一种提取相应的被测物的特征。例如通过主动形状模型法ASM、主动外观模型法AAM、主成分分析法PCA、离散余弦变换法DCT等方法,提取被测物的特征,在此不做限定。再将分别从深度信息中提取到被测物的特征以及从色彩信息中提取到被测物的特征进行配准和特征融合处理。这里指的融合处理可以是将深度信息以及色彩信息中提取出的特征直接组合,也可以是将不同图像中相同的特征进行权重设定后组合,也可以有其他融合方式,最终根据融合后的特征,生成三维图像。
[0138] 三维图像的图像数据可发送给图像存储器920,以便在被显示之前进行另外的处理。ISP处理器930从图像存储器920接收处理数据,并对所述处理数据进行原始域中以及RGB和YCbCr颜色空间中的图像数据处理。三维图像的图像数据可输出给显示器960,以供用户观看和/或由图形引擎或GPU(Graphics Processing Unit,图形处理器)进一步处理。此外,ISP处理器930的输出还可发送给图像存储器920,且显示器960可从图像存储器920读取图像数据。在一个实施例中,图像存储器920可被配置为实现一个或多个帧缓冲器。此外,ISP处理器930的输出可发送给编码器/解码器950,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器960设备上之前解压缩。编码器/解码器950可由CPU或GPU或协处理器实现。
[0139] ISP处理器930确定的图像统计信息可发送给控制逻辑器940单元。控制逻辑器940可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的图像统计信息,确定成像设备910的控制参数。
[0140] 以下为运用图10中图像处理技术实现场景的全景拍摄方法的步骤:
[0141] 步骤101’,接收启动指令启动3D扫描获取3D图像,其中,3D图像为对实际场景进行结构光图像处理后生成的。
[0142] 步骤102’,同步控制从拍摄设备启动3D扫描获取3D图像。
[0143] 步骤103’,接收每个从拍摄设备发送的3D图像。
[0144] 步骤104’,基于所有的3D图像,形成实际场景的全景3D图像。
[0145] 本发明实施例还提供了一种非易失性计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如前述实施例所述的场景的全景拍摄方法。
[0146] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
[0147] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
[0148] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0149] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0150] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0151] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0152] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0153] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0154] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。