成像防抖方法、成像防抖装置、拍摄设备和可读存储介质与流程

文档序号:31711822发布日期:2022-10-04 19:39阅读:48来源:国知局
成像防抖方法、成像防抖装置、拍摄设备和可读存储介质与流程

1.本技术涉及成像领域,特别是涉及一种成像防抖方法、成像防抖装置、拍摄设备和可读存储介质。


背景技术:

2.现有拍摄设备防抖方法一般通过内置的陀螺仪探测到位移后,将信号传至微处理器计算出需要补偿的位移量,然后通过向反方向移动镜片组或图像传感器来缓解因相机震动产生的影像模糊问题。
3.然而,现有的方法由于陀螺仪本身的精度误差、执行抖动补偿过程中的机械执行误差,在拍摄设备成像过程中还是会经常出现抖动问题。有鉴于此,如何在拍摄设备成像过程中尽可能避免其抖动,成为亟需解决的问题。


技术实现要素:

4.本技术主要解决的技术问题是提供一种成像防抖方法、成像防抖装置、拍摄设备和可读存储介质,能够在成像过程中尽可能避免拍摄设备抖动。
5.为了解决上述技术问题,本技术第一方面提供了一种成像防抖方法,包括:基于拍摄设备当前拍摄到的第一图像和第一参考图像进行抖动检测,得到拍摄设备当前的第一抖动数据;其中,第一参考图像由拍摄设备在第一图像之前拍摄得到;基于第一抖动数据,映射得到拍摄设备中抖动补偿器的抖动补偿数据;基于抖动补偿数据,控制抖动补偿器移动。
6.为了解决上述技术问题,本技术第二方面提供了一种成像防抖装置,包括抖动数据获取模块、补偿数据生成模块和控制模块,抖动数据获取模块用于基于拍摄设备当前拍摄到的第一图像和第一参考图像进行抖动检测,得到拍摄设备当前的第一抖动数据;其中,第一参考图像由拍摄设备在第一图像之前拍摄得到;补偿数据生成模块用于基于第一抖动数据,映射得到拍摄设备中抖动补偿器的抖动补偿数据;控制模块用于基于抖动补偿数据,控制抖动补偿器移动。
7.为了解决上述技术问题,本技术第三方面提供了一种拍摄设备,包括抖动补偿器、成像模组、处理器和存储器,抖动补偿器、成像模组和存储器分别与处理器耦接,处理器用于执行存储器存储的程序指令,以实现上述第一方面中的成像防抖方法。
8.为了解决上述技术问题,本技术第四方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的成像防抖方法。
9.上述方案中,通过对拍摄设备拍摄到的图像分析得到第一抖动数据,进而根据第一抖动数据映射得到拍摄设备中抖动补偿器的抖动补偿数据,故而实现视频画面端和抖动补偿端之间的直接关联,即无需陀螺仪等额外元件,而直接根据成像图像来准确且快速地预测抖动补偿,并依照抖动补偿数据控制抖动补偿器移动,因此能够在成像过程中尽可能避免拍摄设备抖动。
附图说明
10.图1是本技术成像防抖方法一实施例的流程示意图;
11.图2是图1中步骤s11一实施例的流程示意图;
12.图3是本技术成像防抖方法另一实施例的流程示意图;
13.图4是图3步骤s31中抖动补偿系数获取步骤一实施例的流程示意图;
14.图5是图4中步骤s301一实施例的流程示意图;
15.图6是本技术成像防抖装置一实施例的框架示意图;
16.图7是本技术拍摄设备一实施例的框架示意图;
17.图8是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
18.下面结合说明书附图,对本技术实施例的方案进行详细说明。
19.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
20.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
21.请参阅图1,图1是本技术成像防抖方法一实施例的流程示意图。具体而言,本实施例中的成像防抖方法可以包括如下步骤:
22.步骤s11:基于拍摄设备当前拍摄到的第一图像和第一参考图像进行抖动检测,得到拍摄设备当前的第一抖动数据。
23.本实施例中,第一参考图像为第一图像之前基于拍摄设备拍摄得到的图像。当然,可以直接使用第一图像的前一帧图像作为第一参考图像,也可以将第一图像的前第n帧图像作为第一参考图像,n可以是5、10等整数,在此不做具体限制。
24.请参阅图2,图2是图1中步骤s11一实施例的流程示意图。上述实施例中步骤s11可以具体包括:
25.步骤s111:基于第一图像和第一参考图像之间的匹配点对,得到第一图像的光流数据。
26.在一个实施场景中,对第一图像和第一参考图像进行特征点提取,并对特征点进行匹配,得到匹配点对。其中,匹配点对为第一图像和第一参考图像中映射到三维模型中的同一特征点。
27.在一个具体的实施场景中,可以采用fast(features from accelerated segment test,快速特征检测)算法提取第一图像和第一参考图像中的特征点,特征点尽量控制平均分布于整个画面。进一步地,可以采用光流跟踪算法跟踪第一图像和第一参考图像中的匹配特征点。
28.在一个具体的实施场景中,可以采用sift(scale-invariant feature transform,尺度不变特征变化)算法、lbp(local binary pattern,局部二值模式)算法等其他算法进行特征点提取,在此不做具体限制。
29.在另一个具体的实施场景中,可以采用特征点跟踪、直接法跟踪等方法对提取出的特征点进行跟踪,在此不做具体限制。
30.在一个实施场景中,获取匹配点对的坐标,并基于两个点位坐标的差值,得到第一图像的光流值。例如,第一图像中的第一个特征点的坐标为(2,2),第一参考图像中对应的特征点的坐标为(0,1),此时第一图像的光流值即为(2,1)。
31.在另一个实施场景中,由于当前拍摄的第一图像的画面中部分内容本身可能处于运动状态(如移动的汽车等),故而还可以对得到的光流值进行异常数据剔除。
32.在一个具体的实施场景中,可以计算全部光流值的平均值,以平均值作为参考标准,全部光流值依次计算其与平均值的比值,当比值处于预设剔除范围时,剔除该光流值。例如,预设剔除范围可以设置为大于等于130%或小于等于70%等数值范围。
33.在一个实施场景中,可以直接采用光流值作为光流数据,也可以对光流值进行加权处理作为光流数据,在此不做具体限制。
34.步骤s112:基于光流数据进行统计,得到第一抖动数据。
35.在一个实施场景中,可以统计出全部光流数据,并计算其平均值,将该平均值第一抖动数据。
36.在另一个实施场景中,可以在全部光流数据中按照第一图像的区域进行划分,每个区域随机取一个光流数据,计算这些光流数据的平均值作为第一抖动数据。
37.上述方案中,通过对第一图像和第一参考图像进行特征点提取,进而获得光流数据,并基于光流数据得到第一抖动数据。通过提取特征点来与前一个图像进行比较,进而反应抖动程度,使得第一抖动数据更加准确。
38.步骤s12:基于第一抖动数据,映射得到拍摄设备中抖动补偿器的抖动补偿数据。
39.在一个实施场景中,第一抖动数据与拍摄设备中抖动补偿器的抖动补偿数据存在映射关系,即拍摄设备的抖动程度越高,抖动补偿数据通常也越大,反之,拍摄设备的抖动程度越低,抖动补偿数据通常也越小,故可以预先构建两者之间的映射关系,从而在成像防抖过程中,可以直接根据抖动补偿数据和映射关系,得到抖动补偿数据。需要说明的是,映射关系的具体获取方式,可以参阅下述相关描述,在此暂不赘述。
40.步骤s13:基于抖动补偿数据,控制抖动补偿器移动。
41.在一个实施场景中,根据抖动补偿数据获取抖动补偿器移动指标,控制抖动补偿器按照移动指标移动,从而尽可能抵消抖动。
42.在另一个实施场景中,在步骤s13执行完毕后,可以以预设防抖间隔为周期,再次返回执行步骤s11,预设防抖时间间隔可以是100毫秒、500毫秒等具体时间,在此不做具体限制。
43.上述方案中,通过对拍摄设备拍摄到的图像分析得到第一抖动数据,进而根据第一抖动数据映射得到拍摄设备中抖动补偿器的抖动补偿数据,故而实现视频画面端和抖动补偿端之间的直接关联,最后依照抖动补偿数据控制抖动补偿器移动,因此能够在成像过程中尽可能避免拍摄设备抖动。
44.请参阅图3,图3是本技术成像防抖方法另一实施例的流程示意图。具体而言,本实施例中的成像防抖方法可以包括如下步骤:
45.步骤s31:基于拍摄设备在抖动补偿器未移动时拍摄到的第二图像和抖动补偿器
不断移动时依序拍摄到的第三图像,得到抖动补偿系数。
46.在一个实施场景中,抖动补偿系数包括x轴方向的系数值,x轴方向的系数值基于第二图像和抖动补偿器沿x轴不断移动时依序拍摄到的第三图像分析得到。
47.在一个实施场景中,抖动补偿系数包括y轴方向的系数值,y轴方向的系数值基于第二图像和抖动补偿器沿y轴不断移动时依序拍摄到的第三图像分析得到。
48.在另一个实施场景中,抖动补偿系数包括x轴和y轴方向的系数值,其中,x轴方向的系数值基于第二图像和抖动补偿器沿x轴不断移动时依序拍摄到的第三图像分析得到,y轴方向的系数值基于第二图像和抖动补偿器沿y轴不断移动时依序拍摄到的第三图像分析得到。
49.在又一个实施场景中,抖动补偿系数包括抖动补偿器所配置的坐标系各轴方向的系数值,各轴方向的系数值基于第二图像和抖动补偿器沿各轴方向不断移动时依序拍摄到的第三图像分析得到。故此,通过将抖动补偿系数按照各个坐标轴划分为各个子系数,并基于第二图像和抖动补偿器沿各轴方向不断移动时依序拍摄到的第三图像分析得到,使得抖动补偿系数获取得更加准确,有利于后续准确执行抖动补偿。
50.请参阅图4,图4是图3步骤s31中抖动补偿系数获取步骤一实施例的流程示意图。上述实施例中抖动补偿系数获取步骤可以具体包括:
51.步骤s301:基于拍摄设备分别依序拍摄各帧第二图像时的第二抖动数据进行分析,得到拍摄设备的随机抖动数据。
52.在一个实施场景中,控制拍摄设备处于静止状态,对拍摄设备分别依序拍摄的各帧第二图像及其对应的第二参考图像进行抖动检测,得到第二抖动数据。其中,第二参考图像由拍摄设备在第二图像之前拍摄得到,抖动检测的具体执行步骤可以参照前述实施例中的步骤s11,在此不再赘述。
53.在一个实施场景中,对第二抖动数据进行分析,得到拍摄设备的随机抖动数据,随机抖动数据反映了拍摄设备处于静止状态下,不受外力的抖动程度。需要说明的是,由于绝对静止不可能存在,故而在获取抖动补偿系数时需要将其考虑在内。
54.请参阅图5,图5是图4中步骤s301一实施例的流程示意图。上述实施例中步骤s301可以具体包括:
55.步骤s3011:基于拍摄设备拍摄相邻第二图像分别对应的抖动方向,将各帧第二图像分别对应的第二抖动数据划分至若干数据集合。
56.在一个实施场景中,第二抖动数据可以包括x轴方向、y轴方向的第二抖动值,也可以包括其他坐标系各轴方向的第二抖动值,在此不做具体限制。
57.在一个实施场景中,将拍摄设备拍摄的第二图像按照时间顺序排列。以第二图像经历的总体时间周期为t0-t4、第二图像的抖动方向为x轴方向为例,假设在t0-t1时间段内,第二图像的抖动方向为x轴的正方向,则将t0-t1时间段内的第二图像对应的第二抖动数据划分至第一数据集合;类似地,t1时刻以后,第二图像的抖动方向发生变化,假设在t1-t2时间段内,第二图像的抖动方向为x轴的负方向,则将t1-t2时间段内的第二图像对应的第二抖动数据划分至第二数据集合;继续参照执行上述步骤,直至将时间周期t1-t4内的第二图像至少划分至四个数据集合。
58.在另一个实施场景中,将拍摄设备拍摄的第二图像按照时间顺序排列。以第二图
像经历的总体时间周期为t4-t8、第二图像的抖动方向为y轴方向为例,假设在t4-t5时间段内,第二图像的抖动方向为y轴的正方向,则将t4-t5时间段内的第二图像对应的第二抖动数据划分至第五数据集合;类似地,t5时刻以后,第二图像的抖动方向发生变化,假设在t5-t6时间段内,第二图像的抖动方向为y轴的负方向,则将t5-t6时间段内的第二图像对应的第二抖动数据划分至第六数据集合;继续参照执行上述步骤,直至将时间周期t4-t8内的第二图像至少划分至四个数据集合。
59.需要说明的是,抖动方向不局限于x轴或y轴,其他方向也可以进行应用,具体应用方式可以参照x轴或y轴,在此不再赘述。
60.步骤s3012:对于各个数据集合,获取数据集合内若干对第二抖动数据之间的第二偏差,并基于最大第二偏差得到目标抖动数据。
61.在一个实施场景中,获取数据集合内一对第二抖动数据,并基于x轴方向上第二抖动值的绝对差值和y轴方向上第二抖动值的绝对差值,得到第二偏差。
62.在一个具体的实施场景中,数据集合中一对第二抖动数据包括:(1,1)、(4,5),此时x轴方向上第二抖动值的绝对差值为3,y轴方向上第二抖动值的绝对差值4,故而第二偏差可以用(3,4)来表示。
63.在一个实施场景中,可以直接将第二偏差中的最大值,作为目标抖动数据。
64.在一个具体的实施场景中,一个数据集合内的第二抖动数据包括:(1,1)、(3,3)、(6,6),此时第二偏差中的最大值为(5,5),故而目标抖动数据也为(5,5)。可以看出,此时目标抖动数据体现了在x轴方向上的第二抖动值为5,在y轴方向上的第二抖动值为5。
65.在另一个实施场景中,可以将第二偏差中的最大值与第二偏差中的最小值的差值,作为目标抖动数据。
66.在一个具体的实施场景中,一个数据集合内的第二抖动数据包括:(1,1)、(3,3)、(6,6),此时第二偏差中的最大值为(5,5),最小值为(2,2),故而两者的差值为(3,3),即为目标抖动数据。
67.进一步说明,由于相同数据集合内的第二抖动数据的抖动方向是一致的,故而无论采取何种方式确定目标抖动数据,均是基于第二偏差中的最大值获得,该第二偏差中最大值反映了拍摄设备的最大随机抖动程度。
68.步骤s3013:基于各个目标抖动数据进行统计,得到随机抖动数据。
69.在一个实施场景中,类似地,随机抖动数据可以是x轴方向的抖动幅度值,可以是y轴方向的抖动幅度值,也可以包括x轴方向的抖动幅度值和y轴方向的抖动幅度值,还可以包括其他坐标系各轴方向的抖动幅度值,在此不做具体限制。
70.在一个实施场景中,将各个目标抖动数据中x轴方向的第二抖动值取绝对均值,得到x轴方向的抖动幅度值,并将各个目标抖动数据中y轴方向的第二抖动值取绝对均值,得到y轴方向的抖动幅度值。
71.在一个具体的实施场景中,x轴方向的4个数据集合的目标抖动数据分别为1.2、1.6、1.4、1.4,此时x轴方向的抖动幅度值为1.4;y轴方向4个数据集合的目标抖动数据为1、2、1.2、1.4,此时y轴方向的抖动幅度值为1.4。
72.在另一个实施场景中,可以对各个数据集合中的目标抖动数据进行加权计算,得到随机抖动数据。
73.在一个具体的实施场景中,x轴方向的4个数据集合的目标抖动数据分别为1.2、1.6、1.4、1.4,4个数据集合的权重系数为0.2、0.4、0.2、0.2,此时x轴方向的抖动幅度值为1.44;y轴方向4个数据集合的目标抖动数据为1、2、1.2、1.4,4个数据集合的权重系数为0.2、0.4、0.2、0.2,此时y轴方向的抖动幅度值为1.52。
74.上述方案中,通过拍摄设备拍摄相邻第二图像分别对应的抖动方向,将各帧第二图像分别对应的第二抖动数据划分至若干数据集合,并基于数据集合的第二抖动数据之间的最大第二偏差,获取随机抖动数据。按照抖动方向来进行周期性划分,并计算每个周期内的最大偏差,进而基于各个最大偏差获取随机抖动数据,使得随机抖动数据统筹考虑了各个时间周期的影响,并最终有效获取了抖动偏差值。
75.步骤s302:分别获取各帧第三图像的第三抖动数据与首帧第三图像的第三抖动数据之间的第一偏差。
76.在一个实施场景中,控制抖动补偿器不断移动,对抖动补偿器不断移动时依序拍摄到的第三图像及其对应的第三参考图像进行抖动检测,得到第三抖动数据。其中,第三参考图像由拍摄设备在第三图像之前拍摄得到,抖动检测的具体执行步骤可以参照前述实施例中的步骤s11,在此不再赘述。
77.在一个实施场景中,第一偏差包括x轴方向、y轴方向的偏差值,也可以包括其他坐标系各轴方向的偏差值,在此不做具体限制。
78.在一个具体的实施场景中,首帧第三图像的第三抖动数据为(1,1),以其他各帧第三图像的第三抖动数据为(2,4)为例,此时该帧第三图像与首帧第三图像的第三抖动数据之间的第一偏差为(1,3),即x轴方向的偏差值为1,y轴方向的偏差值为3。
79.在一个实施场景中,偏差阈值包括x轴方向的第一阈值,且在获取抖动补偿系数中x轴方向的系数值时,x轴方向的第一阈值由x轴方向的抖动幅度值加权得到。
80.在一个具体的实施场景中,x轴方向的抖动幅度值为1.4,x轴方向的第一阈值可以在加权系数为10的情况下设置为14。需要说明的是,加权系数需要设置为不小于10,这样可以尽可能减小随机抖动对抖动补偿参数获取的影响。
81.在另一个实施场景中,偏差阈值包括y轴方向的第二阈值,且在获取抖动补偿系数中y轴方向的系数值时,y轴方向的第二阈值由y轴方向的抖动幅度值加权得到。
82.在一个具体的实施场景中,类似地,y轴方向的抖动幅度值为1.6,y轴方向的第二阈值可以在加权系数为10的情况下设置为16。类似地,加权系数同样需要设置为不小于10,这样可以尽可能减小随机抖动对抖动补偿参数获取的影响。
83.在又一个实施场景中,偏差阈值包括x轴方向的第一阈值和y轴方向的第二阈值,具体实施方式可以参考前述实施例,在此不再赘述。
84.上述方案中,通过对抖动幅度值加权得到偏差阈值,充分考虑了随机抖动对于抖动补偿系数的影响,使得抖动补偿系数获取得更加精确。
85.步骤s303:响应于第三图像对应的第一偏差不小于偏差阈值,基于第三图像对应的第一偏差和拍摄第三图像时抖动补偿器的累积移动数据,得到抖动补偿系数。
86.在一个实施场景中,累积移动数据包括x轴方向、y轴方向的累积移动值,也可以包括其他坐标系各轴方向的累积移动值,在此不做具体限制。
87.在一个实施场景中,抖动补偿系数包括x轴方向、y轴方向的系数值,也可以包括其
他坐标系各轴方向的系数值,在此不做具体限制。更进一步地,将x轴方向的偏差值与x轴方向的累积移动值之比,作为x轴方向的系数值,并将y轴方向的偏差值与y轴方向的累积移动值之比,作为y轴方向的系数值。
88.在一个具体的实施场景中,控制抖动补偿器不断移动,在x轴方向上的累积移动值为2,在y轴方向上的累积移动值为3,此时x轴方向的偏差值为6,y轴方向的偏差值为6,故而此时x轴方向的系数值为3,y轴方向的系数值为2。
89.上述方案中,一方面通过拍摄设备分别依序拍摄各帧第二图像时的第二抖动数据进行分析,得到拍摄设备的随机抖动数据,另一方面分别获取各帧第三图像的第三抖动数据与首帧第三图像的第三抖动数据之间的第一偏差,最后响应于第三图像对应的第一偏差不小于偏差阈值,基于第三图像对应的第一偏差和拍摄第三图像时抖动补偿器的累积移动数据,得到抖动补偿系数。通过移动状态下的第一偏差数据和抖动补偿器的累计移动数据,在第一偏差数据考虑到静止状态下的随机抖动的情况下,能够精准分析得到随机补偿系数。
90.步骤s32:基于拍摄设备当前拍摄到的第一图像和第一参考图像进行抖动检测,得到拍摄设备当前的第一抖动数据。
91.具体实施方式可以参照前述实施例中的步骤s11,在此不再赘述。
92.步骤s33:基于第一抖动数据经拍摄设备的抖动补偿系数进行数据映射,得到抖动补偿数据。
93.在一个实施场景中,第一抖动数据包括x轴方向、y轴方向的第一抖动值,此时抖动补偿系数同样包括x轴方向、y轴方向的系数值,故而抖动补偿数据包括x轴方向、y轴方向的抖动补偿值。具体而言,基于x轴方向的第一抖动值和x轴方向的系数值的商,得到x轴方向的抖动补偿值,并基于y轴方向的第一抖动值和y轴方向的系数值的商,得到y轴方向的抖动补偿值,进而得到抖动补偿数据。
94.在一个具体的实施场景中,x轴方向的第一抖动值为2,y轴方向的第一抖动值为6,x轴方向的系数值为2,y轴方向的系数值为3,故而可以计算出x轴方向的抖动补偿值为1,y轴方向上的抖动补偿值为2。
95.在另一个实施场景中,将x轴方向的第一抖动值和x轴方向的系数值的商与第一预设偏移值的和,作为x轴方向的抖动补偿值;并y轴方向的第一抖动值和y轴方向的系数值的商与第二预设偏移值的和作为y轴方向的抖动补偿值。
96.在一个具体的实施场景中,x轴方向的第一抖动值为2,y轴方向的第一抖动值为6,x轴方向的系数值为2,y轴方向的系数值为3,第一预设偏移值为0.2,第二预设偏移值为0.5,故而可以计算出x轴方向的抖动补偿值为1.2,y轴方向上的抖动补偿值为2.5。
97.在一个实施场景中,第一抖动数据包括抖动补偿器所配置的坐标系各轴方向的第一抖动值,此时抖动补偿系数同样包括抖动补偿器所配置的坐标系各轴方向的系数值,故而抖动补偿数据包括抖动补偿器所配置的坐标系各轴方向的抖动补偿值。具体而言,基于各轴方向的第一抖动值和对应轴方向的系数值,得到该轴方向的抖动补偿值,进而得到抖动补偿数据。故此,将第一抖动数据和抖动补偿数据按照各轴方向拆分为子数据,使得抖动补偿数据获取得更加准确,在之后控制抖动补偿器移动时也更加精准。
98.步骤s34:基于抖动补偿数据,控制抖动补偿器移动。
99.在一个实施场景中,抖动补偿数据包括x轴方向、y轴方向的抖动补偿值,可以直接按照x轴方向、y轴方向的抖动补偿值的相反数,控制抖动补偿器移动。
100.在一个具体的实施场景中,x轴方向的抖动补偿值为1,y轴方向的抖动补偿值为2,此时可以控制抖动补偿器沿着x轴方向移动-1单位距离,沿着y轴方向移动-2单位距离。
101.在又一个实施场景中,在步骤s34执行完毕后,可以以预设防抖间隔为周期,再次返回执行步骤s31,预设防抖时间间隔可以是100毫秒、500毫秒等具体时间,在此不做具体限制。
102.上述方案中,首先通过拍摄设备在抖动补偿器未移动时拍摄到的第二图像和抖动补偿器不断移动时依序拍摄到的第三图像,得到抖动补偿系数,然后对拍摄设备拍摄到的图像分析得到第一抖动数据,并根据第一抖动数据和抖动补偿系数映射得到拍摄设备中抖动补偿器的抖动补偿数据,故而实现视频画面端和抖动补偿端之间的直接关联,最后依照抖动补偿数据控制抖动补偿器移动,因此能够在成像过程中尽可能避免拍摄设备抖动。
103.请参阅图6,图6是本技术成像防抖装置60一实施例的框架示意图。具体而言,成像防抖装置60包括抖动数据获取模块61、补偿数据生成模块62、控制模块63。其中,抖动数据获取模块61用于基于拍摄设备当前拍摄到的第一图像和第一参考图像进行抖动检测,得到拍摄设备当前的第一抖动数据;其中,第一参考图像由拍摄设备在第一图像之前拍摄得到;补偿数据生成模块62用于基于第一抖动数据,映射得到拍摄设备中抖动补偿器的抖动补偿数据;控制模块63用于基于抖动补偿数据,控制抖动补偿器移动。
104.上述方案中,通过对拍摄设备拍摄到的图像分析得到第一抖动数据,进而根据第一抖动数据映射得到拍摄设备中抖动补偿器的抖动补偿数据,故而实现视频画面端和抖动补偿端之间的直接关联,最后依照抖动补偿数据控制抖动补偿器移动,因此能够在成像过程中尽可能避免拍摄设备抖动。
105.在一些公开实施例中,抖动数据获取模块61包括光流数据获取单元,光流数据获取单元用于基于第一图像和第一参考图像之间的匹配点对,得到第一图像的光流数据;其中,光流数据包括第一图像中特征点的光流值;抖动数据获取模块61用于基于光流数据进行统计,得到第一抖动数据。
106.因此,通过对第一图像和第一参考图像进行特征点提取,进而获得光流数据,并基于光流数据得到第一抖动数据。通过提取特征点来与前一个图像进行比较,进而反应抖动程度,使得第一抖动数据更加准确。
107.在一些公开实施例中,补偿数据生成模块62包括抖动补偿系数获取单元,抖动补偿数据由第一抖动数据经拍摄设备的抖动补偿系数进行数据映射得到,且抖动补偿系数获取单元用于在抖动检测之前,基于拍摄设备在抖动补偿器未移动时拍摄到的第二图像和抖动补偿器不断移动时依序拍摄到的第三图像得到抖动补偿系数。
108.因此,首先通过拍摄设备在抖动补偿器未移动时拍摄到的第二图像和抖动补偿器不断移动时依序拍摄到的第三图像,得到抖动补偿系数,然后对拍摄设备拍摄到的图像分析得到第一抖动数据,并根据第一抖动数据和抖动补偿系数映射得到拍摄设备中抖动补偿器的抖动补偿数据,故而实现视频画面端和抖动补偿端之间的直接关联,最后依照抖动补偿数据控制抖动补偿器移动,故而能够在成像过程中尽可能避免拍摄设备抖动。
109.在一些公开实施例中,抖动补偿系数包括x轴方向的系数值,x轴方向的系数值基
于第二图像和抖动补偿器沿x轴不断移动时依序拍摄到的第三图像分析得到;和/或,抖动补偿系数包括y轴方向的系数值,y轴方向的系数值基于第二图像和抖动补偿器沿y轴不断移动时依序拍摄到的第三图像分析得到。
110.因此,通过将抖动补偿系数按照各个坐标轴划分为各个子系数,并基于第二图像和抖动补偿器沿各轴方向不断移动时依序拍摄到的第三图像分析得到,使得抖动补偿系数获取得更加准确,有利于后续准确执行抖动补偿。
111.在一些公开实施例中,第一抖动数据包括x轴方向、y轴方向的第一抖动值,抖动补偿系数包括x轴方向、y轴方向的系数值,抖动补偿数据包括x轴方向、y轴方向的抖动补偿值;基于第一抖动数据,映射得到拍摄设备中抖动补偿器的抖动补偿数据,包括:基于x轴方向的第一抖动值和x轴方向的系数值,得到x轴方向的抖动补偿值,并基于y轴方向的第一抖动值和y轴方向的系数值,得到y轴方向的抖动补偿值;基于抖动补偿数据,控制抖动补偿器移动,包括:基于x轴方向、y轴方向的抖动补偿值的相反数,控制抖动补偿器移动。
112.因此,将第一抖动数据和抖动补偿数据按照各轴方向拆分为子数据,使得抖动补偿数据获取得更加准确,在之后控制抖动补偿器移动时也更加精准。
113.在一些公开实施例中,抖动补偿系数获取单元包括随机抖动数据获取子单元、第一偏差获取子单元。其中,随机抖动数据获取子单元用于基于拍摄设备分别依序拍摄各帧第二图像时的第二抖动数据进行分析,得到拍摄设备的随机抖动数据;其中,第二抖动数据由对第二图像和第二参考图像进行抖动检测得到;第二参考图像由拍摄设备在第二图像之前拍摄得到;第一偏差获取子单元用于分别获取各帧第三图像的第三抖动数据与首帧第三图像的第三抖动数据之间的第一偏差;其中,第三抖动数据由对第三图像和第三参考图像进行抖动检测得到;第三参考图像由拍摄设备在第三图像之前拍摄得到;抖动补偿系数获取单元用于响应于第三图像对应的第一偏差不小于偏差阈值,基于第三图像对应的第一偏差和拍摄第三图像时抖动补偿器的累积移动数据,得到抖动补偿系数;其中,偏差阈值由随机抖动数据加权得到。
114.因此,一方面通过拍摄设备分别依序拍摄各帧第二图像时的第二抖动数据进行分析,得到拍摄设备的随机抖动数据,另一方面分别获取各帧第三图像的第三抖动数据与首帧第三图像的第三抖动数据之间的第一偏差,最后响应于第三图像对应的第一偏差不小于偏差阈值,基于第三图像对应的第一偏差和拍摄第三图像时抖动补偿器的累积移动数据,得到抖动补偿系数。通过移动状态下的第一偏差数据和抖动补偿器的累计移动数据,在第一偏差数据考虑到静止状态下的随机抖动的情况下,能够精准分析得到随机补偿系数。
115.在一些公开实施例中,随机抖动数据获取子单元包括数据集合划分功能块、目标抖动数据获取功能块。其中,数据集合划分功能块用于基于拍摄设备拍摄相邻第二图像分别对应的抖动方向,将各帧第二图像分别对应的第二抖动数据划分至若干数据集合;目标抖动数据获取功能块用于对于各个数据集合,获取数据集合内若干对第二抖动数据之间的第二偏差,并基于最大第二偏差得到目标抖动数据;随机抖动数据获取子单元用于基于各个目标抖动数据进行统计,得到随机抖动数据。
116.因此,通过拍摄设备拍摄相邻第二图像分别对应的抖动方向,将各帧第二图像分别对应的第二抖动数据划分至若干数据集合,并基于数据集合的第二抖动数据之间的最大第二偏差,获取随机抖动数据。按照抖动方向来进行周期性划分,并计算每个周期内的最大
偏差,进而基于各个最大偏差获取随机抖动数据,使得随机抖动数据统筹考虑了各个时间周期的影响,并最终有效获取了抖动偏差值。
117.在一些公开实施例中,第二抖动数据包括x轴方向、y轴方向的第二抖动值,随机抖动数据包括x轴方向、y轴方向的抖动幅度值,获取数据集合内若干对第二抖动数据之间的第二偏差,包括:对于每对第二抖动数据,基于x轴方向上第二抖动值的绝对差值和y轴方向上第二抖动值的绝对差值,得到第二偏差;基于各个目标抖动数据进行统计,得到随机抖动数据,包括:将各个目标抖动数据中x轴方向的第二抖动值取绝对均值,得到x轴方向的抖动幅度值,并将各个目标抖动数据中y轴方向的第二抖动值取绝对均值,得到y轴方向的抖动幅度值。
118.因此,将第二抖动幅度值划分为各个轴方向,同时通过绝对均值进行计算,有利于第二抖动幅度值包含了各个方向分量的数值。
119.在一些公开实施例中,第一偏差包括x轴方向、y轴方向的偏差值,累积移动数据包括x轴方向、y轴方向的累积移动值,抖动补偿系数包括x轴方向、y轴方向的系数值,基于第三图像对应的第一偏差和拍摄第三图像时抖动补偿器的累积移动数据,得到抖动补偿数据,包括:将x轴方向的偏差值与x轴方向的累积移动值之比,作为x轴方向的系数值,并将y轴方向的偏差值与y轴方向的累积移动值之比,作为y轴方向的系数值。
120.因此,将计算抖动补偿系数的各个关键参数均按照各个轴方向进行划分,使得抖动补偿系数的计算更加准确。同时,将偏差值和累积移动值的比作为抖动补偿参数,更加简明、便捷。
121.在一些公开实施例中,随机抖动数据包括x轴方向的抖动幅度值,偏差阈值包括x轴方向的第一阈值,且在获取抖动补偿系数中x轴方向的系数值时,x轴方向的第一阈值由x轴方向的抖动幅度值加权得到;和/或,随机抖动数据包括y轴方向的抖动幅度值,偏差阈值包括y轴方向的第二阈值,且在获取抖动补偿系数中y轴方向的系数值时,y轴方向的第二阈值由y轴方向的抖动幅度值加权得到。
122.因此,通过对抖动幅度值加权得到偏差阈值,充分考虑了随机抖动对于抖动补偿系数的影响,使得抖动补偿系数获取得更加精确。
123.请参阅图7,图7是本技术拍摄设备70一实施例的框架示意图。拍摄设备70具体可以为热成像仪、球机摄像头等具备成像和图像处理功能的设备。具体而言,拍摄设备70包括抖动补偿器703、成像模组704、处理器701和存储器702,抖动补偿器703、成像模组704和存储器702分别与处理器701耦接,处理器701用于执行存储器702存储的程序指令,以实现成像防抖方法任一实施例中的步骤。
124.具体地,抖动补偿器703用于向反方向对成像模组704进行微调,从而抵消抖动,处理器701可以控制其自身以及存储器702执行成像防抖方法任一实施例中的步骤。处理器701还可以称为cpu(central processing unit,中央处理单元)。处理器701可能是一种集成电路芯片,具有信号的处理能力。处理器701还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器701可以由多个成电路芯片共同实
现。成像模组704可以是镜头或者图像传感器。
125.上述方案中,通过对拍摄设备拍摄到的图像分析得到第一抖动数据,进而根据第一抖动数据映射得到拍摄设备中抖动补偿器的抖动补偿数据,故而实现视频画面端和抖动补偿端之间的直接关联,最后依照抖动补偿数据控制抖动补偿器移动,因此能够在成像过程中尽可能避免拍摄设备抖动。
126.请参阅图8,图8是本技术计算机可读存储介质80一实施例的框架示意图。本实施例中,该计算机可读存储介质80存储有处理器可运行的程序指令801,该程序指令801用于执行上述成像防抖方法实施例中的步骤。
127.该计算机可读存储介质80具体可以为u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等可以存储程序指令的介质,或者也可以为存储有该程序指令的服务器,该服务器可将存储的程序指令发送给其他设备运行,或者也可以自运行该存储的程序指令。
128.上述方案中,通过对拍摄设备拍摄到的图像分析得到第一抖动数据,进而根据第一抖动数据映射得到拍摄设备中抖动补偿器的抖动补偿数据,故而实现视频画面端和抖动补偿端之间的直接关联,最后依照抖动补偿数据控制抖动补偿器移动,因此能够在成像过程中尽可能避免拍摄设备抖动。
129.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
130.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
131.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
132.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
133.若本技术技术方案涉及个人信息,应用本技术技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本技术技术方案涉及敏感个人
信息,应用本技术技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1