防抖方法和装置、电子设备、计算机可读存储介质转让专利

申请号 : CN201910791295.1

文献号 : CN110519513A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾玉虎

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

摘要 :

本申请涉及一种防抖方法和装置、电子设备、计算机可读存储介质。所述方法包括获取拍摄环境亮度和姿态传感器所采集的姿态数据;确定所述姿态数据的方差;所述姿态数据的方差用于表征电子设备的抖动程度;根据所述姿态数据的方差和所述拍摄环境亮度确定目标曝光时长;基于所述目标曝光时长拍摄,得到目标图像。上述方法和装置、电子设备、计算机可读存储介质,可以提高防抖的准确性。

权利要求 :

1.一种防抖方法,其特征在于,包括:获取拍摄环境亮度和姿态传感器所采集的姿态数据;

确定所述姿态数据的方差;所述姿态数据的方差用于表征电子设备的抖动程度;

根据所述姿态数据的方差和所述拍摄环境亮度确定目标曝光时长;

基于所述目标曝光时长拍摄,得到目标图像。

2.根据权利要求1所述的方法,其特征在于,所述获取拍摄环境亮度和姿态传感器所采集的姿态数据,包括:获取当前时刻,并根据所述当前时刻确定目标时段;

获取摄像头在所述目标时段内拍摄的图像;

根据所述图像确定拍摄环境亮度;

获取所述目标时段内姿态传感器所采集的姿态数据。

3.根据权利要求2所述的方法,其特征在于,所述根据所述图像确定拍摄环境亮度,包括:确定拍摄的各个所述图像的灰度值;

根据拍摄的各个所述图像的灰度值确定拍摄的图像的平均灰度值;

采用所述平均灰度值表征所述拍摄环境亮度。

4.根据权利要求2所述的方法,其特征在于,所述确定所述姿态数据的方差,包括:确定所述目标时段内的姿态数据的平均姿态值;

根据所述目标时段内的每个姿态数据以及所述平均姿态值确定所述姿态数据的方差。

5.根据权利要求1所述的方法,其特征在于,所述根据所述姿态数据的方差和所述拍摄环境亮度确定目标曝光时长,包括:根据所述姿态数据的方差和所述拍摄环境亮度获取调整因子;

获取摄像头的参考曝光时长;

根据所述调整因子和所述参考曝光时长确定目标曝光时长。

6.根据权利要求5所述的方法,其特征在于,所述根据所述姿态数据的方差和所述拍摄环境亮度获取调整因子,包括:当所述姿态数据的方差大于抖动阈值时,获取第一参数和第二参数;所述第一参数用于控制所述姿态数据的方差的权重,所述第二参数用于控制所述拍摄环境亮度的权重;

根据所述姿态数据的方差、拍摄环境亮度、第一参数和第二参数确定第一调整因子;

所述根据所述调整因子和所述参考曝光时长确定目标曝光时长,包括:根据所述第一调整因子和所述参考曝光时长确定第一曝光时长;所述第一曝光时长小于所述参考曝光时长。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:当所述姿态数据的方差小于或等于抖动阈值时,获取第二调整因子;

所述根据所述调整因子和所述参考曝光时长确定目标曝光时长,包括:根据所述第二调整因子和所述参考曝光时长确定第二曝光时长;所述第二曝光时长等于所述参考曝光时长。

8.一种防抖装置,其特征在于,包括:获取模块,用于获取拍摄环境亮度和姿态传感器所采集的姿态数据;

计算模块,用于确定所述姿态数据的方差;所述姿态数据的方差用于表征电子设备的抖动程度;

目标曝光时长确定模块,用于根据所述姿态数据的方差和所述拍摄环境亮度确定目标曝光时长;

拍摄模块,用于基于所述目标曝光时长拍摄,得到目标图像。

9.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的防抖方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。

说明书 :

防抖方法和装置、电子设备、计算机可读存储介质

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种防抖方法、装置、电子设备、计算机可读存储介质。

背景技术

[0002] 随着计算机技术的发展,越来越多的电子设备可以进行拍摄图像,也出现了各种对图像进行处理的技术。在拍摄图像时,经常由于电子设备的抖动而使得拍摄得到的图像较模糊。传统的防抖方法,通常是电子防抖或者OIS(Optical image stabilization,光学防抖)防抖。然而,传统的防抖技术,存在防抖准确性较低的问题。

发明内容

[0003] 本申请实施例提供一种防抖方法、装置、电子设备、计算机可读存储介质,可以提高防抖的准确性。
[0004] 一种防抖方法,包括:
[0005] 获取拍摄环境亮度和姿态传感器所采集的姿态数据;
[0006] 确定所述姿态数据的方差;所述姿态数据的方差用于表征电子设备的抖动程度;
[0007] 根据所述姿态数据的方差和所述拍摄环境亮度确定目标曝光时长;
[0008] 基于所述目标曝光时长拍摄,得到目标图像。
[0009] 一种防抖装置,包括:
[0010] 获取模块,用于获取拍摄环境亮度和姿态传感器所采集的姿态数据;
[0011] 计算模块,用于确定所述姿态数据的方差;所述姿态数据的方差用于表征电子设备的抖动程度;
[0012] 目标曝光时长确定模块,用于根据所述姿态数据的方差和所述拍摄环境亮度确定目标曝光时长;
[0013] 拍摄模块,用于基于所述目标曝光时长拍摄,得到目标图像。
[0014] 一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述的防抖方法的步骤。
[0015] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
[0016] 上述防抖方法和装置、电子设备、计算机可读存储介质,获取拍摄环境亮度和姿态传感器所采集的姿态数据,确定姿态数据的方差,姿态数据的方差用于表征电子设备的抖动程度,方差可以更准确地表示姿态数据偏离均值的程度,根据姿态数据的方差和拍摄环境亮度可以更准确地确定目标曝光时长,基于目标曝光时长可以拍摄到更清晰的图像,提高了防抖的准确性。

附图说明

[0017] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1为一个实施例中图像处理电路的示意图;
[0019] 图2为一个实施例中防抖方法的流程图;
[0020] 图3为一个实施例中步骤获取拍摄环境亮度和姿态数据的流程图;
[0021] 图4为一个实施例中步骤确定第一曝光时长的流程图;
[0022] 图5为一个实施例中防抖的示意图;
[0023] 图6为一个实施例中防抖装置的结构框图;
[0024] 图7为一个实施例中电子设备的内部结构示意图。

具体实施方式

[0025] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0026] 可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一参数称为第二参数,且类似地,可将第二参数称为第一参数。第一参数和第二参数两者都是参数,但其不是同一参数。
[0027] 本申请实施例提供一种电子设备。上述电子设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义ISP(Image Signal Processing,图像信号处理)管线的各种处理单元。图1为一个实施例中图像处理电路的示意图。如图1所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。
[0028] 如图1所示,图像处理电路包括ISP处理器140和控制逻辑器150。成像设备110捕捉的图像数据首先由ISP处理器140处理,ISP处理器140对图像数据进行分析以捕捉可用于确定和/或成像设备110的一个或多个控制参数的图像统计信息。成像设备110可包括具有一个或多个透镜112和图像传感器114的照相机。图像传感器114可包括色彩滤镜阵列(如Bayer滤镜),图像传感器114可获取用图像传感器114的每个成像像素捕捉的光强度和波长信息,并提供可由ISP处理器140处理的一组原始图像数据。姿态传感器120(如三轴陀螺仪、霍尔传感器、加速度计)可基于姿态传感器120接口类型把采集的图像处理的参数(如防抖参数)提供给ISP处理器140。姿态传感器120接口可以利用SMIA(Standard Mobile Imaging Architecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。
[0029] 此外,图像传感器114也可将原始图像数据发送给姿态传感器120,传感器120可基于姿态传感器120接口类型把原始图像数据提供给ISP处理器140,或者姿态传感器120将原始图像数据存储到图像存储器130中。
[0030] ISP处理器140按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,ISP处理器140可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
[0031] ISP处理器140还可从图像存储器130接收图像数据。例如,姿态传感器120接口将原始图像数据发送给图像存储器130,图像存储器130中的原始图像数据再提供给ISP处理器140以供处理。图像存储器130可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括DMA(Direct Memory Access,直接直接存储器存取)特征。
[0032] 当接收到来自图像传感器114接口或来自姿态传感器120接口或来自图像存储器130的原始图像数据时,ISP处理器140可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器130,以便在被显示之前进行另外的处理。ISP处理器140从图像存储器130接收处理数据,并对所述处理数据进行原始域中以及RGB和YCbCr颜色空间中的图像数据处理。ISP处理器140处理后的图像数据可输出给显示器160,以供用户观看和/或由图形引擎或GPU(Graphics Processing Unit,图形处理器)进一步处理。此外,ISP处理器140的输出还可发送给图像存储器130,且显示器160可从图像存储器130读取图像数据。在一个实施例中,图像存储器130可被配置为实现一个或多个帧缓冲器。
[0033] ISP处理器140确定的统计数据可发送给控制逻辑器150单元。例如,统计数据可包括陀螺仪的振动频率、自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜112阴影校正等图像传感器114统计信息。控制逻辑器150可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备110的控制参数及ISP处理器140的控制参数。例如,成像设备110的控制参数可包括姿态传感器120控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、照相机防抖位移参数、透镜112控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。ISP控制参数可包括用于自动白平衡和颜色调整(例如,在RGB处理期间)的增益水平和色彩校正矩阵,以及透镜112阴影校正参数。
[0034] 在一个实施例中,通过成像设备110的透镜112和图像传感器114获取目标时段内拍摄的图像,并将目标时段内拍摄的图像发送至ISP处理器140。获取姿态传感器120在目标时段内所采集的姿态数据,并将目标时段内所采集的姿态数据发送至ISP处理器140。
[0035] ISP处理器140获取到成像设备110发送的图像后,确定拍摄的各个图像的灰度值,根据拍摄的各个图像的灰度值确定图像的平均灰度值;平均灰度值用于表征拍摄环境亮度。
[0036] ISP处理器140获取到姿态数据后,确定姿态数据的平均姿态值;根据各个姿态数据以及平均姿态值确定姿态数据的方差。
[0037] 当姿态数据的方差大于抖动阈值时,ISP处理器140获取第一参数和第二参数;第一参数用于控制姿态数据的方差的权重,第二参数用于控制拍摄环境亮度的权重;根据姿态数据的方差、拍摄环境亮度、第一参数和第二参数确定第一调整因子;获取成像设备的参考曝光时长;根据第一调整因子和参考曝光时长确定第一曝光时长;第一曝光时长小于参考曝光时长。
[0038] 当姿态数据的方差小于或等于抖动阈值时,ISP处理器140获取第二调整因子;获取成像设备的参考曝光时长;根据第二调整因子和参考曝光时长确定第二曝光时长;第二曝光时长等于参考曝光时长。
[0039] ISP处理器140将确定的第一曝光时长或者第二曝光时长发送至控制逻辑器150。控制逻辑器150获取到第一曝光时长或者第二曝光时长后,控制成像设备110基于第一曝光时长或者第二曝光时长进行拍摄,得到目标图像。
[0040] 获取拍摄环境亮度和姿态传感器所采集的姿态数据,确定姿态数据的方差,姿态数据的方差用于表征电子设备的抖动程度,方差可以更准确地表示姿态数据偏离均值的程度,根据姿态数据的方差和拍摄环境亮度可以更准确地确定目标曝光时长,基于目标曝光时长可以拍摄到更清晰的图像,提高了防抖的准确性。
[0041] 图2为一个实施例中防抖方法的流程图。本实施例中的防抖方法,以运行于图1中的电子设备上为例进行描述。如图2所示,该防抖方法包括步骤202至步骤208。
[0042] 步骤202,获取拍摄环境亮度和姿态传感器所采集的姿态数据。
[0043] 电子设备可以设置摄像头,设置的摄像头的数量可以是一个或者多个。例如,设置1个、2个、3个、5个等,在此不做限定。摄像头设置于电子设备的形式不限,例如,可以是内置于电子设备的摄像头,也可以外置于电子设备的摄像头;可以是前置摄像头,也可以是后置摄像头。
[0044] 在本申请提供的实施例中,电子设备上的摄像头可以为任意类型的摄像头。例如,摄像头可以是彩色摄像头、黑白摄像头、深度摄像头、长焦摄像头、广角摄像头等,不限于此。
[0045] 相对应地,通过彩色摄像头获取彩色图像,通过黑白摄像头获取黑白图像,通过深度摄像头获取深度图像,通过长焦摄像头获取长焦图像,通过广角摄像头获取广角图像,不限于此。电子设备中的摄像头可以是相同类型的摄像头,也可以是不同类型的摄像头。例如,可以均是彩色摄像头,也可以均是黑白摄像头;可以其中的一个摄像头为长焦摄像头,其他的摄像头为广角摄像头,不限于此。
[0046] 拍摄环境亮度指的是电子设备的摄像头在拍摄图像时所处的环境的亮度。姿态传感器基于MEMS(Micro-Electro-Mechanical System,微机电系统)技术的高性能三维运动姿态测量系统。姿态传感器可以包含三轴陀螺仪、三轴加速度计,三轴电子罗盘等运动传感器。姿态传感器所采集的姿态数据可以包含角速度数据、加速度数据、方向数据等。
[0047] 步骤204,确定姿态数据的方差;姿态数据的方差用于表征电子设备的抖动程度。
[0048] 方差用于表示姿态数据与偏离均值的程度。姿态数据的方差可以用于表征电子设备的抖动程度。姿态数据的方差越大,则姿态数据偏离均值的程度越大,电子设备的抖动越大。
[0049] 姿态数据的方差可以根据以下公式得到:
[0050]
[0051] 其中,SN为姿态数据的方差,N为姿态数据的数量,Rt-i为每一个姿态数据,E(R)为平均姿态值,即姿态数据的均值。
[0052] 步骤206,根据姿态数据的方差和拍摄环境亮度确定目标曝光时长。
[0053] 曝光指的是摄像头在拍摄时快门瞬间开闭,使一定量的光线通过镜头投射至感光材料上,从而生成图像的过程。曝光时长指的是为了将光线投射到感光材料的感光面上,快门所要打开的时长。可以理解的是,曝光时长越长,则投射至感光材料上的光线越多,拍摄得到的图像获取的信息也越多,但是拍摄得到的图像越模糊;曝光时长越短,则投射至感光材料上的光线越少,拍摄得到的图像获取的信息也越少,但是拍摄得到的图像越清晰。
[0054] 拍摄环境亮度越亮,在拍摄时获取的光线越多,则可以缩短曝光时长,使拍摄的图像更清晰;拍摄环境亮度越暗,则拍摄时获取的光线越少,则可以延长曝光时长,使拍摄的图像获取更多的图像信息。
[0055] 根据姿态数据的方差,可以更准确地表征电子设备的抖动程度,再将电子设备的抖动程度与拍摄环境亮度结合起来,可以更准确地确定目标曝光时长。
[0056] 步骤208,基于目标曝光时长拍摄,得到目标图像。
[0057] 目标图像指的是基于目标曝光时长拍摄的图像。
[0058] 可以理解的是,在曝光开始的时候,图像传感器逐行扫描、逐行进行曝光,直至所有像素点都被曝光。当被拍摄物体相对于摄像头高速运动或快速振动时,用卷帘快门方式拍摄,逐行扫描速度不够,拍摄结果就可能出现“倾斜”、“摇摆不定”或“部分曝光”等情况。这种卷帘快门方式拍摄出现的现象,就定义为卷帘效应。通过姿态数据的方差和拍摄环境亮度确定的目标曝光时长进行拍摄,可以抑制图像传感器成像时的卷帘效应,从而可以拍摄得到更加清晰的图像。
[0059] 上述防抖方法,获取拍摄环境亮度和姿态传感器所采集的姿态数据,确定姿态数据的方差,姿态数据的方差用于表征电子设备的抖动程度,方差可以更准确地表示姿态数据偏离均值的程度,根据姿态数据的方差和拍摄环境亮度可以更准确地确定目标曝光时长,基于目标曝光时长可以拍摄到更清晰的图像,提高了防抖的准确性。
[0060] 在一个实施例中,如图3所示,获取拍摄环境亮度和姿态传感器所采集的姿态数据,包括:
[0061] 步骤302,获取当前时刻,并根据当前时刻确定目标时段。
[0062] 目标时段可以是在当前时刻之前的时段。例如,当前时刻为13时40分36秒,目标时段可以是(13时40分33秒,13时40分36秒)。目标时段也可以包括当前时刻。例如,当前时刻为13时40分36秒,目标时段可以是(13时40分33秒,13时40分37秒)。目标时段还可以在当前时刻之后。例如,当前时刻为13时40分36秒,目标时段可以是(13时40分37秒,13时40分40秒)。
[0063] 步骤304,获取摄像头在目标时段内拍摄的图像。
[0064] 在一个实施例中,获取摄像头拍摄图像的频率;当频率小于目标频率时,将频率提高至目标频率。
[0065] 摄像头拍摄图像的帧率,如10帧/s,表示摄像头每秒拍摄10帧图像。可以理解的是,当帧率小于目标帧率时,将帧率提高至目标帧率,则摄像头在目标时段内所拍摄的图像的数量增多,根据更多的图像可以确定更准确的拍摄环境亮度。
[0066] 步骤306,根据图像确定拍摄环境亮度。
[0067] 拍摄环境亮度指的是电子设备的摄像头在拍摄图像时所处的环境的亮度。拍摄环境亮度越亮,则拍摄得到的图像所获取的光线越多,图像亮度越亮,即灰度值越高。拍摄环境亮度越暗,则拍摄得到的图像所获取的光线越少,图像亮度越暗,即灰度值越低。因此,可以根据图像确定拍摄环境亮度。
[0068] 在一个实施例中,可以根据图像的灰度值确定拍摄环境亮度,图像的灰度值越大,则拍摄环境亮度越亮。在其他实施例中,还可以根据图像的颜色、图像中各个像素点的像素值等其中的至少一种确定拍摄环境亮度。
[0069] 步骤308,获取目标时段内姿态传感器所采集的姿态数据。
[0070] 在一个实施例中,获取姿态传感器的采集频率;当频率小于频率阈值时,将采集频率提高至频率阈值。
[0071] 姿态传感器的采集频率指的是姿态传感器在单位时间内采集的姿态数据的数量,如20个/s,表示姿态传感器每秒采集20个姿态数据。可以理解的是,当采集频率小于频率阈值时,将采集频率提高至频率阈值,则姿态传感器在目标时段内所采集的姿态数据的数量增多,根据更多的姿态数据可以更准确地确定电子设备的抖动程度。
[0072] 上述防抖方法,获取当前时刻,并根据当前时刻确定目标时段,获取摄像头在目标时段内拍摄的图像,根据目标时段内的图像可以确定更加准确的拍摄环境亮度,获取目标时段内姿态传感器所采集的姿态数据。
[0073] 在一个实施例中,获取摄像头在所述目标时段内拍摄的图像,包括:将目标时段内拍摄的图像存储至第一队列中;从第一队列中获取所有图像。
[0074] 第一队列可以为先入先出队列,即先存储至第一队列中的图像先取出。将目标时段内拍摄的图像存储至第一队列中,可以保存目标时段内拍摄的图像,方便计算目标时段内的图像的拍摄环境亮度。
[0075] 在一个实施例中,获取目标时段内姿态传感器所采集的姿态数据,包括:将目标时段内姿态传感器所采集的姿态数据存储至第二队列中;从第二队列中获取所有姿态数据。
[0076] 第二队列可以为先入先出队列,即先存储至第二队列的姿态数据先取出。将目标时段内姿态传感器所采集的姿态数据存储至第二队列,可以保存目标时段内所采集的姿态数据,方便计算目标时段内的姿态数据的方差。
[0077] 在一个实施例中,根据图像确定拍摄环境亮度,包括:确定拍摄的各个图像的灰度值;根据拍摄的各个图像的灰度值确定拍摄的图像的平均灰度值;采用平均灰度值表征拍摄环境亮度。
[0078] 图像的灰度值指的是图像的颜色的黑白程度的数值。图像的灰度值可以是0-255,0表示黑色,255表示白色。灰度值越高,表示图像越亮;灰度值越低,表示图像越暗。
[0079] 在一个实施例中,可以获取图像的各个像素点的灰度值,将各个像素点的灰度值的平均值作为图像的灰度值。
[0080] 图像由若干个像素点组成,获取各个像素点的灰度值,再对各个像素点的灰度值求平均值,并将该平均值作为图像的灰度值。
[0081] 根据获取的各个图像的灰度值确定拍摄的图像的平均灰度值,该平均灰度值用于表征拍摄环境亮度。例如,拍摄的图像的平均灰度值为240,表示拍摄环境亮度较亮;拍摄的图像的平均灰度值为150,表示拍摄环境亮度较暗。
[0082] 在一个实施例中,可以根据以下计算公式计算得到拍摄环境亮度:
[0083]
[0084] 其中,BN为平均灰度值,用于表征拍摄环境亮度,N为目标时段内拍摄的图像的数量,Rt-i为每一个图像的灰度值。
[0085] 在其他实施例中,也可以将各个图像的灰度值的最大值或者最小值表征拍摄环境亮度;还可以将各个图像的灰度值的中位数或者加权平均值表征拍摄环境亮度,不限于此。
[0086] 上述防抖方法,确定拍摄的各个图像的灰度值,根据拍摄的各个图像的灰度值确定拍摄的图像的平均灰度值,该平均灰度值可以更准确地表征拍摄环境亮度。
[0087] 在一个实施例中,确定姿态数据的方差,包括:确定目标时段内的姿态数据的平均姿态值;根据目标时段内的每个姿态数据以及平均姿态值确定姿态数据的方差。
[0088] 目标时段内的姿态数据的平均姿态值可以根据以下公式计算得到:
[0089]
[0090] 其中,E(R)为平均姿态值,N为目标时段内采集的姿态数据的数量,Rt-i为每一个姿态数据的值。
[0091] 姿态数据的方差可以根据以下公式计算得到:
[0092]
[0093] 其中,SN为目标时段内的姿态数据的方差,N为目标时段内姿态数据的数量,Rt-i为目标时段内的每一个姿态数据,E(R)为平均姿态值。
[0094] 在其他实施例中,也可以将各个姿态数据的最大值或者最小值表征电子设备的抖动程度;还可以将各个姿态数据的中位数或者加权平均值表征电子设备的抖动程度,不限于此。
[0095] 上述防抖方法,确定目标时段内的姿态数据的平均姿态值,根据目标时段内的每个姿态数据以及平均姿态值确定姿态数据的方差,可以更准确地确定电子设备的抖动程度。
[0096] 在一个实施例中,根据姿态数据的方差和拍摄环境亮度确定目标曝光时长,包括:根据姿态数据的方差和拍摄环境亮度获取调整因子;获取摄像头的参考曝光时长;根据调整因子和参考曝光时长确定目标曝光时长。
[0097] 调整因子指的是用于调整目标曝光时长的因子。参考曝光时长指的是摄像头预设的曝光时长,如参考曝光时长可以是摄像头的自动曝光系统的预设时长,也可以是用户根据需要进行设定的曝光时长,不限于此。
[0098] 根据姿态数据的方差和拍摄环境亮度可以确定更加准确的调整因子,从而根据该调整因子和参考曝光时长可以确定更加准确的目标曝光时长。
[0099] 在一个实施例中,如图4所示,根据姿态数据的方差和拍摄环境亮度获取调整因子,包括:
[0100] 步骤402,当姿态数据的方差大于抖动阈值时,获取第一参数和第二参数;第一参数用于控制姿态数据的方差的权重,第二参数用于控制拍摄环境亮度的权重。
[0101] 当姿态数据的方差大于抖动阈值时,表示电子设备在拍摄图像时的抖动较大,则拍摄得到的图像较模糊。因此,需要对电子设备进行防抖,从而拍摄得到清晰的图像。
[0102] 在一个实施例中,第一参数和第二参数可以是用户预先设置的。
[0103] 在另一个实施例中,当姿态数据的方差大于抖动阈值时,提高第一参数的值。
[0104] 当姿态数据的方差大于抖动阈值时,表示电子设备的抖动较大,电子设备的摄像头所拍摄得到的图像的模糊程度主要由于电子设备的抖动引起的。因此,提高第一参数的值。
[0105] 步骤404,根据姿态数据的方差、拍摄环境亮度、第一参数和第二参数确定第一调整因子。
[0106] 第一调整因子可以根据以下公式计算得到:
[0107] θ=ln(α1SN-α2BN)
[0108] 其中,θ为第一调整因子,α1为第一参数,α2为第二参数,SN为姿态数据的方差,BN为拍摄环境亮度。
[0109] 根据调整因子和参考曝光时长确定目标曝光时长,包括:
[0110] 步骤406,根据第一调整因子和参考曝光时长确定第一曝光时长;第一曝光时长小于参考曝光时长。
[0111] 在一个实施例中,还可以获取放缩系数;放缩系数用于调整第一调整因子的大小;根据第一调整因子、参考曝光时长和放缩系数确定第一曝光时长。
[0112] 第一曝光时长可以根据以下公式计算得到:
[0113]
[0114] 其中,T′v为第一曝光时长, 为参考曝光时长,k为放缩系数,θ为第一调整因子。
[0115] 在一个实施例中,上述方法还包括:根据自动曝光公式可以得到曝光值。自动曝光公式:Ev=Av+Tv=Sv+Bv。其中,Ev表示曝光值,Av表示光圈大小,Tv表示曝光时长,Sv表示摄像头的感光度,Bv表示平均亮度。
[0116] 获取电子设备的摄像头的光圈大小Av,并获取第一曝光时长作为Tv,则可以根据Ev=Av+Tv计算得到Ev,即曝光值。
[0117] 当姿态数据的方差大于抖动阈值时,表示电子设备的抖动较大,则根据第一调整因子和参考曝光时长确定的第一曝光时长小于参考曝光时长,曝光时长越短,可以拍摄到更清晰的图像,提高防抖的准确性。
[0118] 在一个实施例中,上述方法还包括:当姿态数据的方差小于或等于抖动阈值时,获取第二调整因子。所述根据调整因子和参考曝光时长确定目标曝光时长,包括:根据第二调整因子和参考曝光时长确定第二曝光时长;第二曝光时长等于参考曝光时长。
[0119] 当姿态数据的方差小于或等于抖动阈值时,表示电子设备的抖动较小,则获取第二调整因子,根据第二调整因子和参考曝光时长确定的第二曝光时长等于参考曝光时长。
[0120] 在一个实施例中,还可以获取放缩系数;放缩系数用于调整第二调整因子的大小;根据第二调整因子、参考曝光时长和放缩系数确定第二曝光时长。
[0121] 在一个实施例中,当姿态数据的方差小于或等于抖动阈值时,第二调整因子可以为0,则第二曝光时长可以根据以下公式计算得到:
[0122]
[0123] 其中,Tv为第二曝光时长, 为参考曝光时长,k为放缩系数,θ为第二调整因子。当第二调整因子θ=0时,则 即第二曝光时长T′v等于参考曝光时长
[0124] 在一个实施例中,如图5所示,获取图像传感器502在目标时段内拍摄的图像,将目标时段内拍摄的图像存储至第一队列504中。从第一队列504中获取各个图像,并确定拍摄的各个图像的灰度值,根据拍摄的各个图像的灰度值确定平均灰度值;平均灰度值用于表征拍摄环境亮度506。
[0125] 获取目标时段内姿态传感器508所采集的姿态数据,将目标时段内所采集的姿态数据存储至第二队列510中。从第二队列510中获取各个姿态数据,确定各个姿态数据的平均姿态值,根据第二队列中的姿态数据以及平均姿态值确定姿态数据的方差512。
[0126] 根据姿态数据的反差512和拍摄环境亮度值506确定目标曝光时长514,并将目标曝光时长514发送至图像传感器502。图像传感器502基于目标曝光时长514拍摄,得到目标图像。
[0127] 应该理解的是,虽然图2至图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0128] 图6为一个实施例的防抖装置的结构框图。如图6所示,提供了一种防抖装置,其特征在于,包括:获取模块602、计算模块604、目标曝光时长确定模块606和拍摄模块608,其中:
[0129] 获取模块602,用于获取拍摄环境亮度和姿态传感器所采集的姿态数据。
[0130] 计算模块604,用于确定姿态数据的方差;姿态数据的方差用于表征电子设备的抖动程度。
[0131] 目标曝光时长确定模块606,用于根据姿态数据的方差和拍摄环境亮度确定目标曝光时长。
[0132] 拍摄模块608,用于基于目标曝光时长拍摄,得到目标图像。
[0133] 上述防抖装置,获取拍摄环境亮度和姿态传感器所采集的姿态数据,确定姿态数据的方差,姿态数据的方差用于表征电子设备的抖动程度,方差可以更准确地表示姿态数据偏离均值的程度,根据姿态数据的方差和拍摄环境亮度可以更准确地确定目标曝光时长,基于目标曝光时长可以拍摄到更清晰的图像,提高了防抖的准确性。
[0134] 在一个实施例中,上述获取模块602还用于获取当前时刻,并根据当前时刻确定目标时段;获取摄像头在目标时段内拍摄的图像;根据图像确定拍摄环境亮度;获取目标时段内姿态传感器所采集的姿态数据。
[0135] 在一个实施例中,上述获取模块602还用于确定拍摄的各个图像的灰度值;根据拍摄的各个图像的灰度值确定拍摄的图像的平均灰度值;采用平均灰度值表征拍摄环境亮度。
[0136] 在一个实施例中,上述获取模块602还用于确定目标时段内的姿态数据的平均姿态值;根据目标时段内的每个姿态数据以及平均姿态值确定姿态数据的方差。在一个实施例中,上述目标曝光时长确定模块606还用于根据姿态数据的方差和拍摄环境亮度获取调整因子;获取摄像头的参考曝光时长;根据调整因子和参考曝光时长确定目标曝光时长。
[0137] 在一个实施例中,上述目标曝光时长确定模块606还用于当姿态数据的方差大于抖动阈值时,获取第一参数和第二参数;第一参数用于控制姿态数据的方差的权重,第二参数用于控制拍摄环境亮度的权重;根据姿态数据的方差、拍摄环境亮度、第一参数和第二参数确定第一调整因子。根据调整因子和参考曝光时长确定目标曝光时长,包括:根据第一调整因子和参考曝光时长确定第一曝光时长;第一曝光时长小于参考曝光时长。
[0138] 在一个实施例中,上述目标曝光时长确定模块606还用于当姿态数据的方差小于或等于抖动阈值时,获取第二调整因子。根据调整因子和参考曝光时长确定目标曝光时长,包括:根据第二调整因子和参考曝光时长确定第二曝光时长;第二曝光时长等于参考曝光时长。
[0139] 上述防抖装置中各个模块的划分仅用于举例说明,在其他实施例中,可将防抖装置按照需要划分为不同的模块,以完成上述防抖装置的全部或部分功能。
[0140] 图7为一个实施例中电子设备的内部结构示意图。如图7所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种防抖方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
[0141] 本申请实施例中提供的防抖装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
[0142] 本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行防抖方法的步骤。
[0143] 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行防抖方法。
[0144] 本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
[0145] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。