拍照方法、装置、终端及计算机可读存储介质与流程

文档序号:17430497发布日期:2019-04-17 03:25阅读:140来源:国知局
拍照方法、装置、终端及计算机可读存储介质与流程

本申请属于拍照技术领域,尤其涉及一种拍照方法、装置、终端及计算机可读存储介质。



背景技术:

在计算机视觉系统中,三维场景信息为图像分割、目标检测、物体跟踪等各类计算机视觉应用提供了更多的可能性,深度图像(depthmap)作为一种普遍的三维场景信息表达方式得到了广泛的应用。深度图像的每个像素点的灰度值可用于表征场景中某一点距离摄像机的远近。

目前,通常采用双目立体视觉的方法获取深度图像,该方法需要设置两个摄像头,并且,这两个摄像头需要间隔一定距离,同时需要用支架固定,以及需要对其进行标定,摄像头的装配较复杂。



技术实现要素:

本申请实施例提供一种拍照方法、装置、终端及计算机可读存储介质,可以解决获取深度信息的摄像头装配复杂的技术问题。

本申请实施例第一方面提供一种拍照方法,应用于终端,所述终端设置有双摄像头,所述双摄像头包括3d摄像头和rgb摄像头,所述拍照方法包括:

获取终端当前的拍照模式;

若所述拍照模式为第一预设模式,则开启所述rgb摄像头获取第一拍摄图像;

若所述拍照模式为第二预设模式,则开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

本申请实施例第二方面提供一种拍照装置,配置于终端,所述终端设置有双摄像头,所述双摄像头包括3d摄像头和rgb摄像头,所述拍照装置包括:

获取单元,用于获取终端当前的拍照模式;

第一拍摄单元,用于若所述拍照模式为第一预设模式,则开启所述rgb摄像头获取第一拍摄图像;

第二拍摄单元,用于若所述拍照模式为第二预设模式,则开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

本申请实施例第三方面提供一种终端,包括双摄像头、存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。

本申请实施例第四方面提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。

本申请实施例中,通过设置3d摄像头在图像拍摄时直接获取深度图像,不需要使用两个摄像头进行深度图像的获取,因此,可以不需要用支架对摄像头进行固定,以及对摄像头进行标定,简化了摄像头的装配流程,提高了摄像头的装配效率。另外,本申请还通过在设置3d摄像头的同时设置rgb摄像头,实现了在拍照模式为第一预设模式时,可以通过rgb摄像头进行第一拍摄图像的获取,避免了利用3d摄像头进行图像拍摄,导致图像拍摄的分辨率无法满足用户需求的问题。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本申请实施例提供的一种拍照方法的第一实现流程示意图;

图2是本申请实施例提供的拍照预览界面的第一示意图;

图3是本申请实施例提供的一种拍照方法的第二实现流程示意图;

图4是本申请实施例提供的拍照方法步骤105的具体实现流程示意图;

图5是本申请实施例提供的拍照预览界面的第二示意图;

图6是本申请实施例提供的拍照装置的结构示意图;

图7是本申请实施例提供的终端的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

目前,在获取深度图像时,通常采用双目立体视觉的方法获取,该方法需要设置两个摄像头,并且可以由这两个摄像头同时获取同一场景的两幅图像,通过立体匹配算法找到两幅图像中对应的像素点,随后根据三角原理计算出视差信息,并将所述视差信息转换成可用于表征场景中物体距离的深度图像。

这种获取深度图像的方法中,摄像头的装配需要间隔一定距离,同时需要用支架固定,以及需要对摄像头进行标定,摄像头的装配比较复杂。特别是在支架的选取上,若使用金属支架固定摄像头,则有可能会影响射频信号的传输;若用非金属支架固定摄像头,则有可能需要使用厚度较大的支架才能保证摄像头较高的稳定性,这对于需要实现轻薄设计的终端来说,无疑将增大终端结构的设计难度。

本申请实施例中,通过设置3d摄像头在图像拍摄时直接获取深度图像,不需要使用两个摄像头进行深度图像的获取,因此,可以不需要用支架对摄像头进行固定,以及对摄像头进行标定,简化了摄像头的装配流程,提高了摄像头的装配效率,不会增加终端结构设计的难度。

另外,在实际应用中,3d摄像头在输出二维rgb图像和携带深度信息的深度图像时,深度图像对应的深度精度越高,二维rgb图像的分辨率下降越明显,无法满足用户对图像分辨率的要求。对此,本申请实施例还通过在设置3d摄像头的同时设置rgb摄像头,实现了在拍照模式为第一预设模式时,可以通过rgb摄像头进行第一拍摄图像的获取,避免了利用3d摄像头进行图像拍摄,导致图像拍摄的分辨率无法满足用户需求的问题。

如图1示出了本申请实施例提供的一种拍照方法实现流程示意图,该方法应用于终端,可以由终端上配置的拍照装置执行,适用于需提高摄像头装配效率的情形,包括步骤101至步骤103。

其中,上述终端包括智能手机、平板电脑、学习机等配置有拍照装置的终端。该终端可以安装有拍照应用,并且设置有双摄像头,所述双摄像头包括3d摄像头和rgb摄像头。

所述3d摄像头在拍摄时可以同时输出二维rgb图像和携带深度信息的深度图像;所述rgb摄像头在拍摄时可以输出的分辨率较高的二维rgb图像。

步骤101,获取终端当前的拍照模式。

可选的,在本申请的一些实施方式中,可以在接收到相机启动指令时,获取终端当前的拍照模式。

例如,上述相机启动指令包括用户在系统桌面中点击拍照应用图标触发的相机启动指令、用户通过点物理按键触发的相机启动指令、用户通过语音触发的相机启动指令或者其他方式触发的相机启动指令。

可选的,在本申请的一些实施方式中,还可以在接收到拍照指令时,获取终端当前的拍照模式。

例如,如图2所示,在接收到用户点击拍照预览界面21中的拍照控件22触发的拍照指令时,获取终端当前的拍照模式;或者在接收到用户通过点击物理按键触发的拍照指令时,获取终端当前的拍照模式;又或者,在接收到用户通过语音触发的拍照指令时,获取终端当前的拍照模式;此处仅仅是举例说明,本申请实施例中,不对拍照指令的触发方式进行限定。

可选的,上述拍照模式可以包括第一预设拍照模式、第二预设拍照模式和第三预设拍照模式中一种或多种。所述第一预设拍照模式为开启rgb摄像头进行拍摄的模式;所述第二预设拍照模式为开启3d摄像头进行拍摄的模式;所述第三预设拍照模式为同时开启rgb摄像头和3d摄像头的拍摄模式。

可选的,终端的拍摄模式可以根据接收到的用户在拍照预览界面中触发的设置指令进行设置。

例如,如图2所示,终端的拍摄模式可以根据接收到的用户在拍照预览界面21中点击设置控件23后,在弹窗24中选择选择控件25触发的所述第一预设拍照模式的设置指令,选择选择控件26触发的所述第二预设拍照模式的设置指令,选择选择控件27触发的所述第三预设拍照模式的设置指令。

步骤102,若所述拍照模式为第一预设模式,则开启所述rgb摄像头获取第一拍摄图像。

本申请实施例中,在获取终端当前的拍照模式之后,若所述拍照模式为第一预设模式,则表示用户只需要进行二维rgb图像的拍摄,因此,可以通过单独开启所述rgb摄像头进行二维rgb图像的拍摄,满足用户对拍摄较高分辨率的图像的要求。

例如,用户需要进行自拍或者正常的图片拍摄时,则可以将拍照模式设置为第一预设模式,以便在终端接收到拍照指令时开启所述rgb摄像头获取第一拍摄图像,或者,在进行图像预览时,开启所述rgb摄像头,并在接收到拍照指令时由所述rgb摄像头获取所述第一拍摄图像。

步骤103,若所述拍照模式为第二预设模式,则开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

本申请实施例中,当用户需要同时获取二维rgb图像和携带深度信息的深度图像时,则可以将拍照模式设置为第二预设模式,以便在终端接收到拍照指令时开启所述3d摄像头获取第二拍摄图像和深度图像,或者,在进行图像预览时,开启所述3d摄像头,并在接收到拍照指令时由所述3d摄像头同时获取所述第二拍摄图像和深度图像。

本申请实施例中,通过设置包括3d摄像头和rgb摄像头的双摄像头,可以为用户提供两种分别独立的拍摄模式,即,所述第一预设模式和第二预设模式。这两种拍摄模式下,两个摄像头独立工作,互补干扰,当3d摄像头开启时,所述rgb摄像头不开启,当所述rgb摄像头开启时,所述3d摄像头不开启;并且,两个摄像头的开启可以通过用户选择的拍摄模式进行控制,具有控制方式灵活的特点,可以根据用户需求实现两者的自动切换。

另外,由于这两个摄像头的工作互相独立,互不影响,因此,这两个摄像头的可以不需要用支架进行固定,两者之间也没有距离的限制,同时也可以不需要对这两个摄像头进行标定,简化了摄像头的装配流程,提高了摄像头的装配效率。

可选的,上述步骤103中,在所述获取第二拍摄图像以及第一深度图像之后,还可以包括:根据所述第二拍摄图像以及所述第一深度图像,输出三维图像。

例如,在进行3d美妆时,为了使虚拟妆容与采集的用户图像融合得更加自然,则可以通过开启所述3d摄像头,同时获取所述第二拍摄图像和所述深度图像,并输出相应的三维图像。

作为本申请的一种实施方式,如图3所示,所述获取终端当前的拍照模式之后,还可以包括步骤104至步骤105。

步骤104,若所述拍照模式为第三预设模式,则同时开启所述rgb摄像头和所述3d摄像头,并分别获取所述第一拍摄图像、第二拍摄图像以及所述第一深度图像。

步骤105,将所述第一深度图像携带的深度信息映射到所述第一拍摄图像中,得到携带深度信息的第一拍摄图像。

由于3d摄像头本身可以同时输出二维rgb图像和深度图像,因此,在需要获取三维图像时,只需要开启一个3d摄像头进行图像拍摄即可。但是,由于在实际应用中,3d摄像头在输出二维rgb图像和携带深度信息的深度图像时,深度图像对应的深度精度越高,二维rgb图像的分辨率下降越明显,因此,在需要获取分辨率较高且深度精度也较高的三维图像时,则不能在直接使用3d摄像头直接输出二维rgb图像和深度图像获取三维图像。

本申请实施例中,通过综合3d摄像头和rgb摄像头各自的优势,同时开启所述rgb摄像头和所述3d摄像头,获取所述第一拍摄图像、第二拍摄图像以及所述第一深度图像,再将所述第一深度图像携带的深度信息映射到所述第一拍摄图像中,得到携带深度信息的第一拍摄图像,以便根据所述携带深度信息的第一拍摄图像得到分辨率较高且深度精度较高的三维图像;避免了利用3d摄像头进行图像拍摄,导致图像拍摄的分辨率无法满足用户需求的问题。

由于上述第一摄像头与第二摄像头之间有可能间隔的距离比较大,因此,所述第一拍摄图像与所述第二拍摄图像的拍摄内容有可能存在不一致的情况,因此,在本申请的一些实施方式中,如图4所示,上述步骤105,将所述第一深度图像携带的深度信息映射到所述第一拍摄图像中,得到携带深度信息的第一拍摄图像,可以包括:步骤401至步骤403。

步骤401,对所述第一拍摄图像和所述第二拍摄图像进行对齐变换和裁剪处理,得到与所述第一拍摄图像对应的第三拍摄图像,以及与所述第二拍摄图像对应的第四拍摄图像;所述第三拍摄图像中的像素与所述第四拍摄图像中的像素一一对应。

例如,利用对齐算法对所述第一拍摄图像和所述第二拍摄图像进行对齐变换和裁剪处理,使得所述第三拍摄图像中的像素与所述第四拍摄图像中的像素一一对应。其中,所述对齐算法可以为通用的对齐算法,例如,前向加法算法和逆组合算法。

步骤402,对所述第一深度图像进行与所述第二拍摄图像相同的对齐变换和裁剪处理,得到第二深度图像。

步骤403,将所述第二深度图像的深度信息映射到所述第三拍摄图像,得到携带深度信息的第三拍摄图像。

由于第一深度图像与所述第二拍摄图像为3d摄像头同时输出的图像,因此,其拍摄内容是相同的,因此,在对第二拍摄图像进行对齐变换和裁剪处理得到第四拍摄图像后,使用与所述第二拍摄图像相同的对齐变换和裁剪处理对所述第一深度图像进行对齐变换和裁剪处理,可以使得得到第二深度图像能够与所述第四拍摄图像一一对应,即,与所述第三拍摄图像一一对应。因此,需要对所述第一深度图像进行与所述第二拍摄图像相同的对齐变换和裁剪处理,得到第二深度图像,使得所述第二深度图像的深度信息可以映射到所述第三拍摄图像,得到携带深度信息的第三拍摄图像。

可选的,所述同时开启所述rgb摄像头和所述3d摄像头之前,包括:将所述3d摄像头的深度精度调整至最大值,以便尽可能的得到深度精度较高的三维图像。

可选的,在上述图1描述的实施方式中,步骤103,所述若所述拍照模式为第二预设模式,则开启所述3d摄像头获取第二拍摄图像以及第一深度图像,可以包括:若所述拍照模式为第二预设模式,则将所述3d摄像头的深度精度调整至预设精度值之后,开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

由于在所述拍照模式为第二预设模式时,并不能确定此时3d摄像头的深度精度是否已被设置为最大值或者其他深度精度,因此,在确定所述拍照模式为第二预设模式时,需要先将所述3d摄像头的深度精度调整至预设精度值之后,再开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

其中,该预设精度可以为使深度精度和图像的分辨率达到平衡状态时的深度精度。例如,该预设深度精度可以根据实验进行获取。

可选的,在本申请的一些实施方式中,上述步骤103中,开启所述3d摄像头获取第二拍摄图像以及第一深度图像,还可以包括:接收深度精度设置指令,根据所述深度精度设置指令对应的深度精度获取第二拍摄图像以及第一深度图像。

例如,如图5所示,在所述拍照模式为第二预设模式时,可以在拍照预览界面21上显示深度精度设置条51,并接收根据用户对所述深度精度设置条51上的滑块52的滑动操作生成的深度精度设置指令,并根据所述深度精度设置指令对应的深度精度获取第二拍摄图像以及第一深度图像,从而实现根据所述第二拍摄图像以及所述第一深度图像输出的三维图像的分辨率与深度精度之间的动态调整,以满足用户不同的拍摄需求。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

图6示出了本申请实施例提供的一种拍照装置600的结构示意图,所述拍照装置配置于终端,所述终端设置有双摄像头,所述双摄像头包括3d摄像头和rgb摄像头,所述拍照装置包括获取单元601、第一拍摄单元602和第二拍摄单元603。

获取单元601,用于获取终端当前的拍照模式;

第一拍摄单元602,用于若所述拍照模式为第一预设模式,则开启所述rgb摄像头获取第一拍摄图像;

第二拍摄单元603,用于若所述拍照模式为第二预设模式,则开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

在本申请的一些实施方式中,所述拍照装置600还可以包括第三拍摄单元,用于若所述拍照模式为第三预设模式,则同时开启所述rgb摄像头和所述3d摄像头,并分别获取所述第一拍摄图像、第二拍摄图像以及所述第一深度图像;将所述第一深度图像携带的深度信息映射到所述第一拍摄图像中,得到携带深度信息的第一拍摄图像。

可选的,所述第三拍摄单元,还用于对所述第一拍摄图像和所述第二拍摄图像进行对齐变换和裁剪处理,得到与所述第一拍摄图像对应的第三拍摄图像,以及与所述第二拍摄图像对应的第四拍摄图像;所述第三拍摄图像中的像素与所述第四拍摄图像中的像素一一对应;对所述第一深度图像进行与所述第二拍摄图像相同的对齐变换和裁剪处理,得到第二深度图像;将所述第二深度图像的深度信息映射到所述第三拍摄图像,得到携带深度信息的第三拍摄图像。

可选的,所述第二拍摄单元,还用于在同时开启所述rgb摄像头和所述3d摄像头之前,将所述3d摄像头的深度精度调整至最大值。

可选的,所述第二拍摄单元,还用于若所述拍照模式为第二预设模式,则将所述3d摄像头的深度精度调整至预设精度值之后,开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

可选的,所述第二拍摄单元,还用于在所述获取第二拍摄图像以及第一深度图像之后,根据所述第二拍摄图像以及所述第一深度图像,输出三维图像。

需要说明的是,为描述的方便和简洁,上述描述的拍照装置600的具体工作过程,可以参考上述图1至图5中描述的方法的对应过程,在此不再赘述。

如图7所示,本申请提供一种用于实现上述拍照方法的终端,该终端可以为智能手机、平板电脑、个人电脑(pc)、学习机等终端,包括:处理器71、存储器72、一个或多个输入设备73(图7中仅示出一个)、一个或多个输出设备74(图7中仅示出一个)和双摄像头75。处理器71、存储器72、输入设备73、输出设备74和双摄像头75通过总线76连接。该双摄像头包括3d摄像头和rgb摄像头,用于根据采集外界光信号,生成第一拍摄图像、第二拍摄图像以及所述第一深度图像。

应当理解,在本申请实施例中,所称处理器71可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备73可以包括虚拟键盘、触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备74可以包括显示器、扬声器等。

存储器72可以包括只读存储器和随机存取存储器,并向处理器71提供指令和数据。存储器72的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器72还可以存储设备类型的信息。

上述存储器72存储有计算机程序,上述计算机程序可在上述处理器71上运行,例如,上述计算机程序为拍照方法的程序。上述处理器71执行上述计算机程序时实现上述拍照方法实施例中的步骤,例如图1所示的步骤101至步骤103。或者,上述处理器71执行上述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图6所示单元601至603的功能。

上述计算机程序可以被分割成一个或多个模块/单元,上述一个或者多个模块/单元被存储在上述存储器72中,并由上述处理器71执行,以完成本申请。上述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序在上述进行拍照的终端中的执行过程。例如,上述计算机程序可以被分割成获取单元、第一拍摄单元和第二拍摄单元,各单元具体功能如下:获取单元,用于获取终端当前的拍照模式;第一拍摄单元,用于若所述拍照模式为第一预设模式,则开启所述rgb摄像头获取第一拍摄图像;第二拍摄单元,用于若所述拍照模式为第二预设模式,则开启所述3d摄像头获取第二拍摄图像以及第一深度图像。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1