
1.本技术涉及拍摄防抖技术领域,特别涉及一种控制方法、控制装置、电子设备和介质。
背景技术:2.在拍摄过程中,如果拍摄设备抖动会导致拍摄的图像不清晰,而保持拍摄设备稳定的拍摄难度较高。为此,相关技术中,采用光学防抖技术改善拍摄抖动导致的拍摄图像模糊的问题,然而,光学防抖并未考虑一些特殊场景,使得特殊场景下的图像改善效果不佳。
技术实现要素:3.本技术的实施方式提供了一种控制方法、控制装置、电子设备和介质。
4.本技术实施方式的控制方法包括:根据相机模组的当前焦距,确定校准值;根据所述相机模组的当前实时姿态和所述相机模组的当前滤波姿态,确定防抖补偿量;根据所述校准值和所述防抖补偿量,控制所述相机模组移动以进行防抖补偿。
5.本技术实施方式的控制装置包括第一处理模块、第二处理模块和控制模块,第一处理模块用于根据相机模组的当前焦距,确定校准值;第二处理模块用于根据所述相机模组的当前实时姿态和所述相机模组的当前滤波姿态,确定防抖补偿量;控制模块用于根据所述校准值和所述防抖补偿量,控制所述相机模组移动以进行防抖补偿。
6.本技术实施方式的电子设备包括一个或多个处理器和存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行的情况下,实现上述所述的控制方法的步骤。
7.本技术实施方式的计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行的情况下,实现上述实施方式所述的控制方法的步骤。
8.上述控制方法、控制装置、电子设备和介质中,能够结合相机模组的当前焦距控制相机模组移动,可以适应不同对焦状态下的防抖补偿需求,确保在不同的当前焦距下,进行稳定一致的抖动补偿,保证防抖效果。
9.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
10.本技术的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
11.图1是本技术实施方式的控制方法的流程示意图;
12.图2是本技术实施方式的控制装置的示意图;
13.图3是本技术实施方式的控制方法的原理示意图;
14.图4是本技术实施方式的控制方法的流程示意图;
15.图5是本技术实施方式的控制装置的示意图;
16.图6是本技术实施方式的电子设备的一示意图;
17.图7是本技术实施方式的电子设备的另一示意图;
18.图8是本技术实施方式的电子设备的又一示意图;
19.图9是本技术实施方式的控制方法的流程示意图;
20.图10是本技术实施方式的控制装置的示意图;
21.图11是本技术实施方式的控制方法的另一原理示意图;
22.图12是本技术实施方式的控制装置的示意图;
23.图13是本技术实施方式的控制方法的流程示意图;
24.图14是本技术实施方式的控制装置的示意图;
25.图15是本技术实施方式的控制方法的流程示意图;
26.图16是本技术实施方式的控制装置的示意图;
27.图17是本技术实施方式的控制方法的流程示意图;
28.图18是本技术实施方式的控制装置的示意图;
29.图19是本技术实施方式的控制方法的流程示意图;
30.图20是本技术实施方式的控制装置的示意图;
31.图21是本技术实施方式的控制方法的流程示意图;
32.图22是本技术实施方式的电子设备的示意图。
33.主要元件符号说明:
34.电子设备100、相机模组10、镜头111、镜筒1111、图像传感器113、第一驱动件115、第一磁性件1151、第一线圈1153、第一磁感应传感器1155、第一铁壳1157、第一滚珠轴承1159、第二驱动件117、第二磁性件1171、第二线圈1173、第二磁感应传感器1175、第二铁壳1177、第二滚珠轴承1179、图像处理器119、防抖驱动电路121、对焦驱动电路123、存储器40、处理器50;
35.控制装置200、第一处理模块21、第一确定单元211、第二确定单元213、第二处理模块23、控制模块25、第一处理单元251、第二处理单元253、第一处理子单元2531、控制子单元2533、第三处理单元255、第二处理子单元2551、第三处理子单元2553、对焦模块27、第三处理模块29、第四处理模块28。
具体实施方式
36.下面详细描述本技术的实施方式,所述实施方式的实施方式在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。
37.在本技术的实施方式的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的实施方式的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
38.请参阅图1,控制方法包括:
39.01:根据相机模组10的当前焦距,确定校准值;
40.03:根据相机模组10的当前实时姿态和相机模组10的当前滤波姿态,确定防抖补偿量;
41.05:根据校准值和防抖补偿量,控制相机模组10移动以进行防抖补偿。
42.请参阅图2,本技术实施方式的控制方法可由本技术实施方式的控制装置200实现,其中,步骤01可以由第一处理模块21实现,步骤03可以由第二处理模块23实现,步骤05可以由控制模块25实现。也即是说,第一处理模块21可用于根据相机模组10的当前焦距,确定校准值。第二处理模块23可用于根据相机模组10的当前实时姿态和相机模组10的当前滤波姿态,确定防抖补偿量。控制模块25可用于根据校准值和防抖补偿量,控制相机模组10移动以进行防抖补偿。
43.本技术实施方式的控制方法和控制装置200,能够结合相机模组10的当前焦距控制相机模组10移动,可以适应不同对焦状态下的防抖补偿需求,确保在不同的当前焦距下,进行稳定一致的抖动补偿,保证防抖效果。
44.具体的,以移动图像传感器113进行补偿修正为例,图像传感器113移动的距离与相机模组10的焦距相关,在相关技术中,并没有结合相机模组10的焦距进行防抖补偿,这就使得防抖效果不佳。本技术结合当前焦距进行防抖补偿,能够在焦距变化的场景下实现较好的防抖补偿效果。例如,请结合图3,为补偿相同的角度θ,为焦距为f1的情况下,图像传感器113需要移动的距离为x,而在焦距为f2的情况下,图像传感器113需要移动的距离为x+
△
x,因此结合相机模组10的焦距进行防抖补偿,能够在焦距变化的场景下,达到较好的防抖补偿效果。
45.相机模组10可以应用于电子设备100。电子设备100可包括智能手机、平板电脑、智能手表、智能手环、等装置,在此不做具体限定。本技术实施方式的电子设备100以智能手机为例进行举例说明,不能理解为对本技术的限制。
46.控制装置200可以应用于电子设备100,控制装置200可以用于控制相机模组10进行防抖补偿。控制装置200可以集成在相机模组10中,在此不做具体限定。
47.当前实时姿态用于表征相机模组10抖动后的当前的姿态,当前实时姿态可以通过运动传感器获得,具体的,电子设备100可以包括运动传感器。运动传感器可以包括加速度计(acc),加速度计可用于检测相机模组10的加速度数据。运动传感器还可以包括陀螺仪(gyro),陀螺仪可以用于检测获得相机模组10的角速度数据。当然,运动传感器还可以包括其他运动传感器,在此不做具体限定。
48.防抖补偿量可以表示当前实时姿态和当前滤波姿态的差异,即防抖补偿量可以理解为抖动的距离。具体的,
△
q=q
i-qfilter,其中,
△
q为防抖补偿量,qi当前实时姿态,qfilter为当前滤波姿态。其中,
△
q是一个向量(
△
x,
△
y,
△
z)。
△
x、
△
y、
△
z分别代表在xyz轴上的防抖补偿量。
49.值得说明的是,相机模组10可以包括镜头111和图像传感器113,在控制相机模组10移动以进行防抖补偿时,可以控制镜头111移动以进行防抖补偿,也可以控制图像传感器113移动以进行防抖补偿,还可以控制镜头111和图像传感器113移动以进行防抖补偿,本技术不做具体限制。例如,在相机模组10整体竖直向上抖动时,可以控制镜头111竖直向下移动以进行防抖补偿,也可以控制图像传感器113竖直向上移动以进行防抖补偿,还可以控制
镜头111竖直向下移动并控制图像传感器113竖直向上移动以进行防抖补偿。
50.以控制图像传感器113移动以进行防抖补偿为例,控制图像传感器113移动的方法有很多,例如,在某个实施方式中,请结合图8,电子设备100包括图像传感器113和第二驱动件117,第二驱动件117能够在第二驱动电流的作用下驱动图像传感器113移动。具体的,第二驱动件117可为音圈马达。第二驱动件117包括第二磁性件1171、第二线圈1173(coil)、第二磁感应传感器1175、第二铁壳1177和第二滚珠轴承1179,第二磁性件1171固定安装于图像传感器113,第二线圈1173和第二磁感应传感器1175固定安装于第二铁壳1177,第二线圈1173能够在第二驱动电流的作用下驱动图像传感器113移动,第二磁感应传感器1175能够基于图像传感器113移动时磁通量的变化来测量图像传感器113的位置,第二滚珠轴承1179设于图像传感器113的侧边以控制图像传感器113沿侧边方向移动时的稳定性。第二磁感应传感器1175可包括霍尔传感器(hall)。
51.请参阅图4,在某些实施方式中,控制方法还包括:
52.07:在接收到拍摄命令时,进行对焦操作;
53.09:在对焦操作完成时,获得相机模组10的当前焦距。
54.请参阅图5,在某些实施方式中,控制装置200还包括对焦模块27和第三处理模块29,步骤01可以由对焦模块27实现,步骤09可以由第三处理模块29实现。也即是说,对焦模块27可以用于在接收到拍摄命令时,进行对焦操作。第三处理模块29可以用于在对焦操作完成时,获得相机模组10的当前焦距。
55.如此,能够在对焦操作完成后进行防抖补偿,为根据焦距进行防抖补偿提供依据,避免对焦控制和防抖补偿独立工作时,由于信号不同步造成的抖动补偿效果退化。
56.在某些实施方式中,在控制相机模组10移动以进行防抖补偿时,图像传感器113进行曝光。
57.如此,能够通过严格的同步时序,降低防抖补偿过程中响应时延的影响,此外,以ois(optical image stabilization,光学防抖)为例,由于防抖补偿频率高、补偿范围小,通常用于抑制运动模糊,而非视频拍摄时的图像稳定,因此在图像传感器113曝光之前的帧间隔时段和读出时段无需进行防抖,即,将防抖补偿与曝光时序结合,可以避免不必要的防抖补偿的功耗开销,提升防抖补偿的效率。
58.具体的,请结合图7,在某个实施方式中,电子设备100包括图像处理器119、图像传感器113、防抖驱动电路121和对焦驱动电路123,在对焦驱动电路123返回对焦完成信号后,图像处理器119可以向防抖驱动电路121发送防抖使能命令,进行防抖补偿,并向图像传感器113发送曝光使能命令,使图像传感器113进行曝光。
59.进行对焦操作的方式有很多,在某个实施方式中,请结合图6和图7,电子设备100包括镜头111和图像传感器113,镜头111包括镜筒1111,电子设备100还包括第一驱动件115,第一驱动件115能够驱动镜头111沿镜筒1111的轴线方向移动以实现对焦,镜头111还包括透镜,透镜固定安装于镜筒1111。具体的,第一驱动件115可包括滚珠式音圈马达、弹片式音圈马达、压电马达等。第一驱动件115可以包括第一磁性件1151、第一线圈1153(coil)、第一磁感应传感器1155、第一铁壳1157和第一滚珠轴承1159,第一磁性件1151固定安装于镜筒1111,第一线圈1153和第一磁感应传感器1155固定安装于第一铁壳1157,第一线圈1153能够在第一驱动电流的作用下驱动镜头111移动,第一磁感应传感器1155能够基于镜
头111移动时磁通量的变化来测量镜头111的位置,第一滚珠轴承1159设于镜筒1111以控制镜头111沿镜筒1111的轴线方向移动时的稳定性。当第一线圈1153通变化的第一驱动电流时可以产生洛伦兹力,洛伦兹力作用于第一磁性件1151后,第一磁性件1151带动镜头111进行移动。由于第一磁感应传感器1155测量的数据实时传给对焦驱动电路123,因此可以持续调节第一驱动电流来确保镜头111到达准确的对焦位置。
60.需要说明的是,拍摄命令可以是用户通过电子设备100发起的,例如,用户可以通过按键、触摸或者语音命令等形式发起拍摄命令。拍摄命令也可由电子设备100安装的应用程序(application,app)发起。拍摄命令可包括照片拍摄请求或视频录制请求。
61.对焦操作,可以理解为,移动镜头111改变镜头111的焦距以使得拍摄对象反射的光线通过镜头111被图像传感器113获取时能够生成清晰度较高的原始图像。对焦操作可以是自动对焦,也可以是用户手动对焦,在此不做限定。可以理解,在对焦操作完成后能够自动确定镜头111的当前焦距。
62.在某些实施方式中,请参阅图9,步骤01包括:
63.011:根据当前焦距和预设查找表,确定当前物距,其中,预设查找表包括当前焦距与当前物距的对应关系;
64.013:根据当前焦距和当前物距,确定校准值。
65.请参阅图10,在某些实施方式中,第一处理模块21包括第一确定单元211和第二确定单元213。步骤011可以由第一确定单元211实现,步骤013可以由第二确定单元213实现。也即是说,第一确定单元211可用于根据当前焦距和预设查找表,确定当前物距,其中,预设查找表包括当前焦距与当前物距的对应关系。第二确定单元213可用于根据当前焦距和当前物距,确定校准值。
66.如此,能够根据当前焦距,确定校准值,为考虑当前焦距进行防抖补偿提供依据。
67.具体的,以移动图像传感器113进行防抖补偿为例,校准值可用于表示防抖补偿量与图像传感器113所需移动的距离之间的对应关系,校准值可以通过实验、计算等方式获得,本技术不做具体限制。可以理解的,焦距与物距具有对应关系,可以根据不同的af(auto focus,自动对焦)值设置预设查找表,以便于通过焦距和预设查找表,确定当前物距。在已知物距和焦距的情况下,可以带入高斯成像公式,获得像距。
68.校准值可以用公式:f/(x+f)表示,其中,f表示像距,x表示物距。
69.进一步的,校准值为当前焦距与当前物距的比值。
70.如此,方便计算校准值。
71.具体的,在采用公式f/(x+f)计算校准值时,需要通过焦距获得物距,再通过焦距和物距计算获得像距,步骤较为繁琐。本实施方式中,带入高斯成像公式至f/(x+f)中,约去像距,获得校准值的计算公式f0/x,其中,f0表示焦距。如此,能够较快获得校准值。
72.值得说明的是,由于相同af值下,焦距与物距具有相同对应关系,因此af值相同的情况下,校准值相同。在某个实施方式中,根据af值设定校准值表格。如此,能够根据af值快速查找校准值表格获得校准值,加快防抖补偿的计算速度。
73.为方便理解,下面进行举例说明。请参阅图11,图11中左侧表示相机模组10未抖动时的成像状态,图11右侧上方表示相机模组10向上抖动
△
l后的成像状态,图11右侧下方表示进行防抖补偿后的成像状态,将高斯成像公式带入h=
△
l*[f/(x+f)],获得h=
△
l*(f0/
x),其中,f表示像距,x表示物距,f0表示焦距,f0=efl,efl(effective focal length)表示有效焦距。在某个实施方式中,为了弥补抖动的
△
l,镜头111向下移动h,校准值可用于表示图11中
△
l与h之间的对应关系。值得说明的是,在其他实施方式中,可以通过将图像传感器113向上移动h实现防抖补偿。
[0074]
在某些实施方式中,控制方法还包括:
[0075]
根据当前实时姿态、预设防抖强度值和相机模组10的前序滤波姿态,确定相机模组10的当前滤波姿态。
[0076]
请参阅图12,在某些实施方式中,控制装置200还包括第四处理模块28,上述步骤可以由第四处理模块28实现。也即是说,第四处理模块28可用于根据当前实时姿态、预设防抖强度值和相机模组10的前序滤波姿态,确定相机模组10的当前滤波姿态。
[0077]
如此,根据当前实时姿态、预设防抖强度值和前序滤波姿态,可以准确地确定相机模组10的当前滤波姿态,根据当前实时姿态和当前滤波姿态可以确定合适的防抖补偿量。
[0078]
具体地,可以基于预设防抖强度值,将当前实时姿态和前序滤波姿态进行融合处理,以得到当前滤波姿态。在某些实施例中,可以将预设防抖强度值作为当前实时姿态的权重信息,并根据预设防抖强度值确定前序滤波姿态对应的权重信息,根据当前实时姿态、前序滤波姿态和各自的权重信息进行融合处理,可以得到当前滤波姿态,例如,可以基于各自的权重信息对当前实时姿态和前序滤波姿态进行加权求和,以得到当前滤波姿态。在一个实施例中,qfilter=f(alpha,qi,qfilter
i-1
),其中,qfilter为当前滤波姿态,f为融合处理算法,alpha为预设防抖强度值,qi为当前姿态,qfilter
i-1
为前序滤波姿态。其中,前序滤波姿态可以是指前序时刻的滤波姿态,前序时刻可以是指在当前时刻之前的时刻,可以是当前时刻的前一时刻、前多个时刻,前多个时刻例如前两个时刻、前三个时刻等。前序滤波姿态可以是对前序时刻的姿态信息进行滤波处理后获得,例如可以通过卡尔曼滤波(kalman filtering)处理后获得。卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。
[0079]
请参阅图13,在某些实施方式中,步骤05,包括:
[0080]
051:根据防抖补偿量和校准值,确定相机模组10的防抖补偿行程;
[0081]
053:根据相机模组10的镜头111的当前行程位置和防抖补偿行程,控制镜头111移动以进行防抖补偿。
[0082]
在某些实施方式中,请参阅图14,控制模块25包括第一处理单元251和第二处理单元253,步骤051可以由第一处理单元251实现,步骤053可以由第二处理单元253实现。也即是说,第一处理单元251可用于根据防抖补偿量和校准值,确定相机模组10的防抖补偿行程。第二处理单元253可用于根据相机模组10的镜头111的当前行程位置和防抖补偿行程,控制镜头111移动以进行防抖补偿。
[0083]
如此,能够根据防抖补偿量和校准值获得防抖补偿行程,并根据防抖补偿行程和镜头111的当前行程位置,控制镜头111移动实现防抖补偿。
[0084]
具体的,通过控制镜头111移动来实现光学防抖,镜头111可在第一方向和第二方向上被推动,第一方向与第二方向相互垂直。例如第一方向为x方向,第二方向为y方向,镜头111可在x方向和y方向上被推动,被推动的行程单位为code。防抖补偿行程是指相机模组10发生抖动时在x方向或y方向上被推动的行程,防抖补偿行程用于对相机模组10的抖动进
行补偿。
[0085]
相机模组10的行程中心位置通常为线性行程,行程中心位置可以作为参考位置,容易实现对镜头111进行精确地防抖补偿。根据防抖补偿量、校准值和行程中心位置,可以计算出相机模组10的防抖补偿行程。在一个实施例中,将防抖补偿量和校准值的乘积,与行程中心位置求和,即可得到相机模组10的防抖补偿行程。其中,本技术的防抖补偿行程主要是指x方向和y方向的防抖补偿行程,
△
z可以不参与计算。例如,相机模组10的防抖补偿行程包括x方向的防抖补偿行程
△
code_x和y方向的防抖补偿行程
△
code_y,防抖补偿量包括x方向的防抖补偿量
△
x和y方向的防抖补偿量
△
y,校准值包括x方向的校准值gain_x和y方向的校准值gain_y,行程中心位置包括x方向的行程中心位置center_code_x和y方向的行程中心位置center_code_y,计算公式具体可以为:
△
code_x=(
△
x*gain_x)+center_code_x;
△
code_y=(
△
y*gain_y)+center_code_y。
[0086]
当前行程位置是指镜头111在当前所处行程中的实际位置。相机模组10的镜头111的当前行程位置可以通过霍尔传感器(hall)检测获得,将镜头111从当前行程位置推动防抖补偿行程,从而实现防抖补偿。
[0087]
进一步的,请参阅图15,步骤053还包括:
[0088]
0531:根据相机模组10的镜头111的当前行程位置和防抖补偿行程,确定镜头111的目标行程位置;
[0089]
0533:控制镜头111移动至目标行程位置以实现防抖补偿。
[0090]
请参阅图16,在某些实施方式中,第二处理单元253包括第一处理子单元2531和控制子单元2533,步骤0531可以由第一处理子单元2531实现,步骤0533可以由控制子单元2533实现。也即是说,第一处理子单元2531可用于根据相机模组10的镜头111的当前行程位置和防抖补偿行程,确定镜头111的目标行程位置。控制子单元2533可用于控制镜头111移动至目标行程位置以实现防抖补偿。
[0091]
如此,能够控制镜头111应至目标行程位置,以实现精确的光学防抖。
[0092]
具体的,目标行程位置是指镜头111进行防抖补偿后的位置,将镜头111从当前行程位置调整至目标行程位置可以抵消抖动。在一个实施例中,当前行程位置包括x方向的当前行程位置hall_x和y方向的当前行程位置hall_y,防抖补偿行程包括x方向的防抖补偿行程
△
code_x和y方向的防抖补偿行程
△
code_y,目标行程位置包括x方向的目标行程位置target_hall_x和y方向的目标行程位置target_hall_y。根据x方向的当前行程位置hall_x和x方向的防抖补偿行程
△
code_x可以计算获得x方向的目标行程位置target_hall_x,根据y方向的当前行程位置hall_y和y方向的防抖补偿行程
△
code_y可以计算获得y方向的目标行程位置target_hall_y。控制镜头111移动至x方向的目标行程位置target_hall_x和y方向的目标行程位置target_hall_y以实现防抖补偿。在一个实施例中,target_hall_x=f(
△
code_x,hall_x);target_hall_y=f(
△
code_y,hall_y)。f为融合算法,具体可以为卡尔曼滤波算法,也可以是其他算法,在此不做具体限定。
[0093]
在某些实施方式中,请参阅图17,步骤05,包括:
[0094]
051:根据防抖补偿量和校准值,确定相机模组10的防抖补偿行程;
[0095]
055:根据相机模组10的图像传感器113的当前行程位置和防抖补偿行程,控制图像传感器113移动以进行防抖补偿。
[0096]
在某些实施方式中,请参阅图18,控制模块25包括第一处理单元251和第三处理单元255,步骤051可以由第一处理单元251实现,步骤055可以由第三处理单元255实现。也即是说,第一处理单元251可用于根据防抖补偿量和校准值,确定相机模组10的防抖补偿行程。第三处理单元255可用于根据相机模组10的图像传感器113的当前行程位置和防抖补偿行程,控制图像传感器113移动以进行防抖补偿。
[0097]
如此,能够根据防抖补偿量和校准值获得防抖补偿行程,并根据防抖补偿行程和镜头111的当前行程位置,控制图像传感器113移动实现防抖补偿。
[0098]
进一步的,请参阅图19,在某些实施方式中,步骤055包括:
[0099]
步骤0551:根据相机模组10的图像传感器113的当前行程位置和防抖补偿行程,确定图像传感器113的目标行程位置;
[0100]
步骤0553:控制图像传感器113移动至目标行程位置以实现防抖补偿。
[0101]
请参阅图20,在某些实施方式中,第三处理单元255包括第二处理子单元2551和第三处理子单元2553,步骤0551可以由第二处理子单元2551实现,步骤0553可以由第三处理子单元2553实现。也即是说,第二处理子单元2551可用于根据相机模组10的图像传感器113的当前行程位置和防抖补偿行程,确定图像传感器113的目标行程位置。第三处理子单元2553可用于控制图像传感器113移动至目标行程位置以实现防抖补偿。
[0102]
具体的,控制图像传感器113移动以实现防抖补偿的原理与控制镜头111移动以实现防抖补偿的原理相似,本技术不做具体赘述。
[0103]
请参阅图21,图21所述为一个实施例中防抖补偿方法的流程示意图。防抖补偿方法包括:
[0104]
根据加速度传感器测得值,获得当前实时姿态qi,其中,qi是一个向量,代表在x、y、z轴方向的姿态;
[0105]
根据所述当前实时姿态qi、预设防抖强度值alpha和所述相机模组10的前序滤波姿态qfilter
i-1
,确定所述相机模组10的当前滤波姿态qfilter,公式如下:
[0106]
qfilter=f(qi,alpha)
[0107]
qfilter为qi和qfilter
i-1
进行姿态融合的结果,其中alpha决定了融合过程中实时姿态qi和上一时刻的滤波姿态qfilter
i-1
各自的权重。
[0108]
通过实时姿态qi和当前时刻的滤波姿态qfilter计算防抖补偿量
△
q:
[0109]
△
q=q
i-qfilter
[0110]
其中,防抖补偿量
△
q是一个向量,可以是平移补偿量,也可以是角度补偿量和平移补偿量的融合。
[0111]
防抖补偿量
△
q包括在xyz轴上的平移的补偿量(
△
x,
△
y,
△
z),
△
x,
△
y,
△
z分别代表在xyz方向上的补偿量。其中
△
z暂时没有参与计算target_hall值,因为target_hall为xy方向的值。
[0112]
通过当前焦距f0,获得当前物距x,并根据当前焦距f0和当前物距x,获取校准值gain_x和gain_y,公式如下:
[0113]
gain_x=f0/x;
[0114]
gain_y=f0/x。
[0115]
根据校准值(gain_x,gain_y),计算目标行程位置target_hall:
[0116]
△
code_x=(
△
x*gain_x)+center_code_x;
[0117]
△
code_y=(
△
y*gain_y)+center_code_y;
[0118]
target_hall_x=f(
△
code_x,hall_x);
[0119]
target_hall_y=f(
△
code_y,hall_y);
[0120]
其中,center_code_x、center_code_y为图像传感器113全行程的中间位置,f为当前图像传感器113的当前行程位置hall_x、hall_y与计算出来的防抖补偿行程
△
code_x、
△
code_y的融合,该融合方式可以是卡尔曼滤波也可以是其他融合算法。
[0121]
下发目标行程位置target_hall给驱动电路,让马达vcm将图像传感器113推到目标行程位置target_hall_x、target_hall_y,完成本次的防抖补偿。
[0122]
重复上述各个操作可实现防抖补偿的处理流程,以克服摄像头抖动导致的图像不清晰的问题。
[0123]
请参阅图22,本技术实施方式的控制方法可由本技术实施方式的电子设备100实现。具体地,电子设备100包括一个或多个处理器50和存储器40。存储器40存储有计算机程序。计算机程序被处理器50执行的情况下,实现上述任一实施方式的控制方法的步骤。
[0124]
例如,计算机程序被处理器50执行的情况下,实现以下控制方法的步骤:
[0125]
01:根据相机模组10的当前焦距,确定校准值;
[0126]
03:根据相机模组10的当前实时姿态和相机模组10的当前滤波姿态,确定防抖补偿量;
[0127]
05:根据校准值和防抖补偿量,控制相机模组10移动以进行防抖补偿。
[0128]
本技术实施方式的计算机可读存储介质,其上存储有计算机程序,程序被处理器执行的情况下,实现上述任一实施方式的控制方法的步骤。
[0129]
例如,程序被处理器执行的情况下,实现以下控制方法的步骤:
[0130]
01:根据相机模组10的当前焦距,确定校准值;
[0131]
03:根据相机模组10的当前实时姿态和相机模组10的当前滤波姿态,确定防抖补偿量;
[0132]
05:根据校准值和防抖补偿量,控制相机模组10移动以进行防抖补偿。
[0133]
可以理解,计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。处理器可以是中央处理器,还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0134]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技
术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0135]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0136]
尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。