技术领域
[0001] 本
发明涉及摄像技术领域,尤其涉及一种拍摄方法、装置及存储介质。
背景技术
[0002] 目前有很多智能拍摄应用,在拍摄文本(书、纸)时会在相机预览图像
帧中自动检测物体边缘并以边框形式显示。这种从预览帧中检测出物体边缘的方法需要耗费大量的CPU计算,因此会导致拍摄终端发热,因而会使得拍摄终端电量快速下降。通常,在拍照过程中,只有拍摄终端处于基本静止状态(如已经对准拍摄目标)时才需要从预览中检测边缘;当手机处于快速运动状态时并不需要检测边缘。
[0003] 然而
现有技术中只要拍摄终端处于待拍摄状态,均会检测物体边缘,因此加大了拍摄终端的计算量,导致拍摄终端电量快速下降。
发明内容
[0004] 本发明
实施例的目的在于提供一种拍摄方法、装置及存储介质,用于解决现有技术中,拍摄过程中,无论拍摄终端处于何种状态,均对对物体进行
边缘检测而造成的拍摄计算量大的问题。
[0005] 为了解决上述技术问题,本
申请的实施例采用了如下技术方案:一种拍摄方法,包括如下步骤:
[0006] 获取被拍摄对象的预览帧;
[0007] 获取所述预览帧所对应时刻的拍摄设备的运动状态的参数;
[0008] 基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态;
[0009] 基于所述边缘检测状态确定进行拍摄。
[0010] 可选的,所述获取所述预览帧所对应时刻的拍摄设备的运动状态的参数,包括以下至少一种:
[0011] 获取所述预览帧所对应时刻的拍摄设备的移动参数;
[0012] 获取所述预览帧所对应时刻的拍摄设备的转动参数。
[0013] 可选的,所述获取所述预览帧所对应时刻的拍摄设备的移动参数,包括以下至少一种:
[0014] 利用速度
传感器获取所述预览帧所对应时刻拍摄设备的移动速度;
[0015] 利用
加速度传感器获取所述预览帧所对应时刻拍摄设备的移动加速度。
[0016] 可选的,所述获取所述预览帧所对应时刻的拍摄设备的转动参数,包括以下至少一种:
[0017] 利用
角加速度传感器获取所述预览帧所对应时刻拍摄设备的倾斜角加速度;
[0018] 利用重
力传感器获取所述预览帧所对应时刻拍摄设备的旋转角度。
[0019] 可选的,所述基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态,具体包括:
[0020] 将所述运动状态的参数与预设的
阈值比较,若所述运动状态的参数大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述运动状态的参数小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0021] 可选的,所述基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态,具体包括:
[0022] 根据获得的所述预览帧所对应时刻的拍摄设备的运动状态的参数与前一预览帧所对应时刻的拍摄设备的运动状态的参数进行计算,获得运动状态的参数差值;
[0023] 将所述运动状态的参数差值与预设的阈值进行比较,若所述运动状态的参数差值大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述运动状态的参数差值小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0024] 可选的,所述基于所述边缘检测状态确定进行拍摄,具体包括:在确定所述预览帧中的物体的边缘检测状态为检测状态时,对被拍摄对象进拍摄。
[0025] 可选的,所述方法还包括,当接收到指示信息时,根据所述指示信息停止对所述预览帧中的物体进行边缘检测,以将所述预览帧中的物体的边缘检测状态设置为非检测状态。
[0026] 为解决上述问题,本发明实施例还公开了一种拍摄装置,包括:
[0027] 第一获取模
块,用于获取被拍摄对象的预览帧;
[0028] 第二获取模块,用于获取所述预览帧所对应时刻的拍摄设备的运动状态的参数;
[0029] 确定模块,用于基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态;
[0030] 拍摄模块,用于基于所述边缘检测状态确定进行拍摄。
[0031] 可选的,所述第二获取模块具体用于以下至少一种:
[0032] 获取所述预览帧所对应时刻的拍摄设备的移动参数;
[0033] 获取所述预览帧所对应时刻的拍摄设备的转动参数。
[0034] 可选的,所述第二获取模块具体用于以下至少一种:
[0035] 利用速度传感器获取所述预览帧所对应时刻拍摄设备的移动速度;
[0036] 利用加速度传感器获取所述预览帧所对应时刻拍摄设备的移动加速度。
[0037] 可选的,所述第二获取模块具体用于以下至少一种:
[0038] 利用角加速度传感器获取所述预览帧所对应时刻拍摄设备的倾斜角加速度;
[0039] 利用重力传感器获取所述预览帧所对应时刻拍摄设备的旋转角度。
[0040] 可选的,所述确定模块,具体用于:
[0041] 将所述运动状态的参数与预设的阈值比较,若所述运动状态的参数大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述运动状态的参数小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0042] 可选的,所述确定模块,具体用于:
[0043] 根据获得的所述预览帧所对应时刻的拍摄设备的运动状态的参数与前一预览帧所对应时刻的拍摄设备的运动状态的参数进行计算,获得运动状态的参数差值;
[0044] 将所述运动状态的参数差值与预设的阈值进行比较,若所述运动状态的参数差值大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述运动状态的参数差值小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0045] 可选的,所述拍摄模块具体用于:在确定所述预览帧中的物体的边缘检测状态为检测状态时,对被拍摄对象进拍摄。
[0046] 可选的,所述装置还包括设置模块,所述设置模块用于:当接收到指示信息时,根据所述指示信息停止对所述预览帧中的物体进行边缘检测,以将所述预览帧中的物体的边缘检测状态设置为非检测状态。
[0047] 为解决上述问题,本发明实施例还公开了一种存储介质,所述存储介质上存储有
计算机程序,所述计算机程序被处理器执行时实现如上所述的任意一项拍摄方法的步骤。
[0048] 本发明实施例的有益效果在于:通过检测拍摄时设备的运动参数,根据运动参数来确定运动状态,使得拍摄设备在静止、低速运动或匀速运动时,对物体进行边缘检测;而当拍摄设备在加速运动或高速运动时,不进行边缘检测,减少了拍摄设备的计算量,减少了拍摄设备的耗电量。
附图说明
[0049] 图1为本发明实施例拍摄方法的
流程图;
[0050] 图2为本发明实施例拍摄方法的流程图;
[0051] 图3为本发明实施例拍摄方法的流程图;
[0052] 图4为本发明实施例拍摄装置的结构
框图。
具体实施方式
[0053] 此处参考附图描述本申请的各种方案以及特征。
[0054] 应理解的是,可以对此处申请的实施例做出各种
修改。因此,上述
说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
[0055] 包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
[0056] 通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
[0057] 还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如
权利要求所述的特征并因此都位于借此所限定的保护范围内。
[0058] 当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
[0059] 此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的
基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
[0060] 本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
[0061] 本发明实施例提供一种拍摄方法,如图1所示,包括如下步骤:
[0062] 步骤S101,获取被拍摄对象的预览帧;
[0063] 本步骤中,被拍摄对象表示实际拍摄时,需要拍摄的人、物或景色。
[0064] 具体的,应用场景可以为跟随移动的目标对象对该移动的目标对象进行拍摄,或在移动状态下对静止的目标对象进行拍摄,或者在静止时对目标对象进行拍摄。
[0065] 预览帧表示拍摄设备获取的一个静止的图像。当开启摄像功能时,拍摄设备的摄像头就会获取被拍摄对象的预览帧。具体的每1秒钟拍摄设备会获得24个预览帧到30个预览帧,即拍摄设备的图形处理器每秒中能够刷新24-30次。
[0066] 步骤S102,获取所述预览帧所对应时刻的拍摄设备的运动状态的参数;
[0067] 运动状态表示拍摄设备处于加速移动状态、减速移动状态匀速移动状态、静止状态、翻转状态、倾斜状态中的一种或几种。
[0068] 本步骤中,拍摄设备每秒会获取若干个预览帧,那么在获得这些预览帧的同时,会获取各预览帧所对应时刻的拍摄设备的运动状态参数,即每一个预览帧都会对应一个拍摄设备的运动状态的参数。
[0069] 步骤S103,基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态;
[0070] 边缘检测表示在对物目标对象进行拍摄时,预览帧中呈现出拍摄对象时,会对预览帧中的目标对象的边缘进行检测,然后以边框的形式显示进行显示,即预览帧中的目标对象的边缘的
位置会显示出边框。
[0071] 本步骤中,通过判断运动状态的参数是否满足预设条件,来确定该运动状态的参数所对应的预览帧中的物体的边缘检测状态,即根据运动状态的参数确定是否对预览帧中的物体进行边缘检测。
[0072] 步骤S104,基于所述边缘检测状态确定进行拍摄。
[0073] 本步骤中,边缘检测状态表示:预览帧中的目标对象的边缘所对应的位置是否显示有边框;具体包括显示有边框和没有边框这两种状态。其中显示有边框的状态表示边缘检测状态为检测状态,没有边框的状态为边缘检测状态为非检测状态。
[0074] 具体的,本步骤中在确定预览中的物体的边缘检测状态为检测状态时,对被拍摄对象进行拍摄。当然也可以根据实际需要,在预览帧中的物体的边缘检测状态为非检测状态时,对被拍摄对象进行拍摄。
[0075] 本发明实施例中,通过为各预览帧添加一个与各预览帧所对应时刻的拍摄设备的运行状态的参数,这样就可以通过运动状态的参数来确定各预览帧所对应时刻拍摄设备的运动状态,以此来确定各预览帧中物体边缘检测的状态,进而保证了只有拍摄设备在预定的运动状态时,才会对预览帧中的物体进行边缘检测,减少了拍摄设备的计算量,减少了拍摄设备的耗电量。解决了无论拍摄设备处于何种状态,均对对物体进行边缘检测而造成的拍摄计算量大的问题。
[0076] 本发明另一实施例提供一种拍摄方法,如图2所示,包括如下步骤:
[0077] 步骤S201,获取被拍摄对象的预览帧;
[0078] 本步骤中,预览帧表示拍摄设备获取的一个静止的图像。当开启摄像功能时,拍摄设备的摄像头就会获取被拍摄对象的预览帧。具体的每1秒钟拍摄设备会获得24个预览帧至30个预览帧,即拍摄设备的图形处理器每秒中能够刷新24-30次。
[0079] 步骤S202,获取所述预览帧所对应时刻的拍摄设备的移动参数;
[0080] 本步骤中,例如每秒获取24个预览帧,那么在获得这24个预览帧的同时,会获取各预览帧所对应时刻的拍摄设备的移动参数,即每一个预览都会对应一个拍摄设备的移动参数。
[0081] 本步骤中,移动参数包括拍摄设备的移动速度或者拍摄设备的移动加速度。具体的,可以利用速度传感器获取所述预览帧所对应时刻拍摄设备的移动速度;也可以利用加速度传感器获取所述预览帧所对应时刻拍摄设备的移动加速度。
[0082] 步骤S203,将所述移动参数与预设的阈值比较,若所述移动参数大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述移动参数小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0083] 具体的,本步骤中也可以根据获得的所述预览帧所对应时刻的拍摄设备的移动参数与前一预览帧所对应时刻的拍摄设备的移动参数进行计算,获得移动参数差值;将所述移动参数差值与预设的阈值进行比较,若所述移动参数差值大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述移动参数差值小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0084] 步骤S204,基于所述边缘检测状态确定进行拍摄。
[0085] 具体的,本步骤中在确定预览中的物体的边缘检测状态为检测状态时,对被拍摄对象进行拍摄。具体的也可以根据实际需要,在预览帧中的物体的边缘检测状态为非检测状态时,对被拍摄对象进行拍摄。
[0086] 本实施例中,通过获取各预览帧所对应时刻拍摄设备的移动参数,比如移动速度或移动加速度等,然后将移动速度和预设的值进行比较,当移动速度大于或等于预设值时,则认为设备处于高速移动状态或加速移动状态,则不对预览中的物体进行边缘检测,以将边缘检测状态设置为非检测状态,从而减少了拍摄设备的计算量,减少了拍摄设备的耗电量。
[0087] 在又一实施例中,提供一种拍摄方法,如图3所示,包括如下步骤:
[0088] 步骤S301,获取被拍摄对象的预览帧;
[0089] 步骤S302,获取所述预览帧所对应时刻的拍摄设备的转动参数。
[0090] 本步骤中,所述转动参数具体包括如下一种或几种:拍摄设备的倾斜角加速度和拍摄设备的旋转角度。具体的,可以利用角加速度传感器获取所述预览帧所对应时刻拍摄设备的倾斜角加速度;也可以利用重力传感器获取所述预览帧所对应时刻拍摄设备的旋转角度。
[0091] 步骤S303,根据获得的所述预览帧所对应时刻的拍摄设备的转动参数与前一预览帧所对应时刻的拍摄设备的转动参数进行计算,获得转动参数差值;将所述转动参数差值与预设的阈值进行比较,若所述转动参数差值大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述转动参数差值小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0092] 具体的,本步骤中,也可以将所述转动参数与预设的阈值比较,若所述转动参数大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述转动参数小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0093] 步骤S304,基于所述边缘检测状态确定进行拍摄。
[0094] 具体的,本步骤中为了保证拍摄
质量,可以在确定预览中的物体的边缘检测状态为检测状态时,对被拍摄对象进行拍摄。具体的也可以根据实际需要,确实在预览帧中的物体的边缘检测状态为非检测状态时,对被拍摄对象进行拍摄。
[0095] 具体的,本实施例中,还包括:当接收到指示信息时,根据所述指示信息停止对所述预览帧中的物体进行边缘检测,以将所述预览帧中的物体的边缘检测状态设置为非检测状态。即当接收到人为操作的指示信息时,无论拍摄设备处于何种运行状态,都会将边缘检测状态设置为非检测状态以不对预览帧中的物体进行边缘检测,以减少拍摄设备的计算量,从而减少拍摄设备的电量损耗。
[0096] 本实施例中,通过获取各预览帧所对应时刻拍摄设备的转动参数,比如拍摄设备的倾斜角加速度或转动角度等,然后将倾斜角加速度/转动角度和预设的值进行比较,当倾斜角加速度/转动角度大于或等于预设值时,则认为设备处于倾斜/翻转/旋转状态,则不对预览中的物体进行边缘检测,以将边缘检测状态设置为非检测状态,从而减少了拍摄设备的计算量,减少了拍摄设备的耗电量。
[0097] 本发明在又一实施例中,提供一种拍摄方法,包括如下步骤:
[0098] 步骤S401,获取被拍摄对象的预览帧;
[0099] 步骤S402,获取所述预览帧所对应时刻的拍摄设备的运动状态的参数;
[0100] 步骤S403,将所述运动状态的参数写入到所述预览帧中;
[0101] 本步骤中,具体可以将获得的运动状态的参数写入到与预览帧相关联的文件中,例如写入到预览帧的头文件中。以此实现在读取预览帧时,即可从头文件中调出该预览帧所对应时刻的拍摄设备的运动状态的参数。
[0102] 步骤S404,基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态;
[0103] 步骤S405,基于所述边缘检测状态确定进行拍摄。
[0104] 本发明实施例中,通过为将获得的运动状态的参数写入到预览中,即每个预览帧中都会包含有运动状态参数的信息,这样在读取预览帧时,就能直接从该预览帧中获得该预览帧所对应时刻拍摄设备的运动状态的参数,以此使得运动状态的参数的获取能够更加直接、快捷。
[0105] 本发明实施例提供一种拍摄装置,如图4所示,包括:
[0106] 第一获取模块1,用于获取被拍摄对象的预览帧;
[0107] 第二获取模块2,用于获取所述预览帧所对应时刻的拍摄设备的运动状态的参数;
[0108] 确定模块3,用于基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态;
[0109] 拍摄模块4,用于基于所述边缘检测状态确定进行拍摄。
[0110] 具体的,本实施例中,所述第二获取模块具体用于以下至少一种:
[0111] 获取所述预览帧所对应时刻的拍摄设备的移动参数;具体的,可以利用速度传感器获取所述预览帧所对应时刻拍摄设备的移动速度;也可以利用加速度传感器获取所述预览帧所对应时刻拍摄设备的移动加速度。
[0112] 获取所述预览帧所对应时刻的拍摄设备的转动参数。具体的,可以利用角加速度传感器获取所述预览帧所对应时刻拍摄设备的倾斜角加速度;也可以利用重力传感器获取所述预览帧所对应时刻拍摄设备的旋转角度。
[0113] 本实施例中,所述确定模块,具体用于:将所述运动状态的参数与预设的阈值比较,若所述运动状态的参数大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述运动状态的参数小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0114] 具体的,本实施例中,所述拍摄模块具体用于:在确定所述预览帧中的物体的边缘检测状态为检测状态时,对被拍摄对象进拍摄。
[0115] 具体的,本实施例中的所述装置还包括设置模块,所述设置模块用于:当接收到指示信息时,根据所述指示信息停止对所述预览帧中的物体进行边缘检测,以将所述预览帧中的物体的边缘检测状态设置为非检测状态。
[0116] 在另一实施例中,确定模块具体用于:
[0117] 根据获得的所述预览帧所对应时刻的拍摄设备的运动状态的参数与前一预览帧所对应时刻的拍摄设备的运动状态的参数进行计算,获得运动状态的参数差值;
[0118] 将所述运动状态的参数差值与预设的阈值进行比较,若所述运动状态的参数差值大于或等于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为非检测状态;若所述运动状态的参数差值小于所述预设的阈值,则确定所述预览帧中的物体的边缘检测状态为检测状态。
[0119] 本发明实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
[0120] 步骤一、获取被拍摄对象的预览帧;
[0121] 步骤二、获取所述预览帧所对应时刻的拍摄设备的运动状态的参数;
[0122] 步骤三、基于所述运动状态的参数,确定所述预览帧中的物体的边缘检测状态;
[0123] 步骤四、基于所述边缘检测状态确定进行拍摄。
[0124] 上述方法步骤的具体实施例过程可参见上述任意拍摄方法的实施例,本实施例在此不再重复赘述。
[0125] 本发明实施例,通过检测拍摄时设备的运动参数,根据运动参数来确定运动状态,使得拍摄设备在静止、低速运动或匀速运动时,对物体进行边缘检测;而当拍摄设备在加速运动或高速运动时,不进行边缘检测,减少了拍摄设备的计算量,减少了拍摄设备的耗电量。
[0126] 以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。