掌桥专利:专业的专利平台
掌桥专利
首页

防抖控制方法、装置及电子设备

文献发布时间:2023-06-19 19:07:35


防抖控制方法、装置及电子设备

技术领域

本申请涉及计算机视觉处理技术领域,尤其涉及一种防抖控制方法、装置及电子设备。

背景技术

随着技术的发展,相机丰富着人们的生活,但在拍摄过程中,用户手的抖动、摄像机感光元器件、传感器补偿误差等因素会导致最终的画质内容模糊不清,因此需要防抖处理。

相关技术中,光学防抖通过可移动式的部件,对发生手震的光路进行补偿,从而实现减轻照片模糊的效果。但是光学防抖需要运用额外的部件实现,成本较高。

发明内容

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,提出了如下技术方案:

本申请第一方面实施例提出了一种防抖控制方法,包括:

采集待防抖处理的目标图像,以及在所述目标图像之前所采集的基准图像;

对所述目标图像和所述基准图像进行特征点匹配,以确定所述目标图像和所述基准图像中相互匹配的至少一组特征点对,所述特征点对包括位于所述目标图像的第一特征点和位于所述基准图像的第二特征点;

根据所述至少一组特征点对中至少一个所述第一特征点所处的第一图像位置,以及至少一个所述第二特征点所处的第二图像位置,确定所述至少一组特征点对的位置差异;

根据所述至少一组特征点对的位置差异,确定参考误差;

根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像。

可选地,所述根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像,包括下列中的至少一个:

在所述特征点对个数大于或等于阈值个数,且所述参考误差小于第一误差值的情况下,采用特征点匹配方法进行防抖处理,得到防抖处理后的目标图像;

在所述特征点对个数大于或等于所述阈值个数,且所述参考误差大于或等于所述第一误差值,且所述参考误差小于或等于第二误差值的情况下,采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理,得到防抖处理后的目标图像;

在所述特征点对个数大于或等于所述阈值个数,且所述参考误差大于所述第二误差值的情况下,采用陀螺仪防抖方法进行防抖处理,得到防抖处理后的目标图像。

可选地,所述根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像,还包括:

在所述至少一组特征点对的特征点对个数小于所述阈值个数的情况下,采用陀螺仪防抖方法进行防抖处理,得到防抖处理后的目标图像。

可选地,所述采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理,得到防抖处理后的目标图像,包括:

对所述目标图像采用特征点匹配方法进行防抖处理,以得到所述目标图像中各像素点的第一偏移量;

对所述目标图像采用所述陀螺仪防抖方法进行防抖处理,以得到所述目标图像中各像素点的第二偏移量;

根据所述参考误差,对所述第一偏移量和所述第二偏移量进行加权求和,以得到加权偏移量;

根据所述加权偏移量,对所述目标图像中各像素点进行位置变换,得到防抖处理后的目标图像。

可选地,所述对所述目标图像采用特征点匹配方法进行防抖处理,以得到所述目标图像中各像素点的第一偏移量,包括:

获取至少一个所述第一特征点的第一图像位置,以及至少一个所述第二特征点的第二图像位置,采用光流法进行匹配所得到映射矩阵;其中,所述映射矩阵用于指示从所述第二图像位置变换至所述第一图像位置的映射关系;

根据所述映射矩阵,对所述目标图像进行逆向仿射变换,以得到所述目标图像中各像素点的所述第一偏移量。

可选地,所述对所述目标图像采用所述陀螺仪防抖方法进行防抖处理,以得到所述目标图像中各像素点的第二偏移量,包括:

获取陀螺仪在采集所述目标图像和所述基准图像之间采集的多个抖动角速度;

采用卡尔曼滤波,对所述多个抖动角速度进行滤波;

根据滤波后的所述多个抖动角速度,确定所述第二偏移量。

本申请第二方面实施例提出了一种防抖控制装置,包括:

采集模块,用于采集待防抖处理的目标图像,以及在所述目标图像之前所采集的基准图像;

匹配模块,用于对所述目标图像和所述基准图像进行特征点匹配,以确定所述目标图像和所述基准图像中相互匹配的至少一组特征点对,所述特征点对包括位于所述目标图像的第一特征点和位于所述基准图像的第二特征点;

误差模块,用于根据所述至少一组特征点对中至少一个所述第一特征点所处的第一图像位置,以及至少一个所述第二特征点所处的第二图像位置,确定所述至少一组特征点对的位置差异;根据所述至少一组特征点对的位置差异,确定参考误差;

处理模块,用于根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像。

可选地,所述处理模块具体用于:

在所述特征点对个数大于或等于阈值个数,且所述参考误差小于第一误差值的情况下,采用特征点匹配方法进行防抖处理,得到防抖处理后的目标图像;

在所述特征点对个数大于或等于所述阈值个数,且所述参考误差大于或等于所述第一误差值,且所述参考误差小于或等于第二误差值的情况下,采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理,得到防抖处理后的目标图像;

在所述特征点对个数大于或等于所述阈值个数,且所述参考误差大于所述第二误差值的情况下,采用陀螺仪防抖方法进行防抖处理,得到防抖处理后的目标图像。

可选地,所述处理模块还用于:

在所述特征点对个数小于所述阈值个数的情况下,采用陀螺仪防抖方法进行防抖处理,得到防抖处理后的目标图像。

可选地,所述处理模块还用于:

对所述目标图像采用特征点匹配方法进行防抖处理,以得到所述目标图像中各像素点的第一偏移量;

对所述目标图像采用所述陀螺仪防抖方法进行防抖处理,以得到所述目标图像中各像素点的第二偏移量;

根据所述参考误差,对所述第一偏移量和所述第二偏移量进行加权求和,以得到加权偏移量;

根据所述加权偏移量,对所述目标图像中各像素点进行位置变换,得到防抖处理后的目标图像。

可选地,所述处理模块具体用于:

获取至少一个所述第一特征点的第一图像位置,以及至少一个所述第二特征点的第二图像位置,采用光流法进行匹配所得到映射矩阵;其中,所述映射矩阵用于指示从所述第二图像位置变换至所述第一图像位置的映射关系;

根据所述映射矩阵,对所述目标图像进行逆向仿射变换,以得到所述目标图像中各像素点的所述第一偏移量。

可选地,所述处理模块具体用于:

获取陀螺仪在采集所述目标图像和所述基准图像之间采集的多个抖动角速度;

采用卡尔曼滤波,对所述多个抖动角速度进行滤波;

根据滤波后的所述多个抖动角速度,确定所述第二偏移量。

本申请第三方面实施例提出了一种电子设备,包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为调用并执行所述存储器存储的可执行指令,以实现本申请第一方面实施例提出的防抖控制方法。

本申请第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请第一方面实施例提出的防抖控制方法。

本申请第五方面实施例提出了一种计算机程序产品,所述计算机程序由电子设备的处理器执行时,使得电子设备能够执行本申请第一方面实施例提出的防抖控制方法。

本申请的技术方案,通过采集待防抖处理的目标图像,以及在所述目标图像之前所采集的基准图像,对所述目标图像和所述基准图像进行特征点匹配,以确定所述目标图像和所述基准图像中相互匹配的至少一组特征点对,所述特征点对包括位于所述目标图像的第一特征点和位于所述基准图像的第二特征点,根据所述至少一组特征点对中至少一个所述第一特征点所处的第一图像位置,以及至少一个所述第二特征点所处的第二图像位置,确定所述至少一组特征点对的位置差异,根据所述至少一组特征点对的位置差异,确定参考误差,根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像,有效提升了相机的防抖能力,避免了额外特殊部件的使用,降低了成本,提高了防抖的效果。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例提供的一种防抖控制方法的流程示意图;

图2为本申请实施例提供的另一种防抖控制方法的流程示意图;

图3为本申请实施例提供的一种防抖控制装置的结构示意图;

图4为本申请实施例提供的一种电子设备的结构框图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的防抖控制方法、装置和电子设备。

图1为本申请实施例提供的一种防抖控制方法的流程示意图。

如图1所示,该防抖控制方法可以包括以下步骤:

步骤101,采集待防抖处理的目标图像,以及在目标图像之前所采集的基准图像。

其中,基准图像是指作为防抖处理的参考的图像,待防抖处理的目标图像是指,因为抖动或者拍摄画面中的人体或者物体的快速移动而造成的画面中的图像与基准图像出现偏移的图像。将所述目标图像之前的基准图像作为参考,对目标图像进行防抖处理,可以使得防抖处理后的目标图像所呈现的画面与基准图像趋于一致,使得用户较难通过画面改变感知到抖动的存在,从而达到了防抖的效果。

可选地,通过摄像机获取图像,可以将启动摄像机后拍摄画面的第一帧画面作为基准图像,后续的出现偏移的帧的画面作为待防抖处理的目标图像。

可选地,通过预设规则,将某一图像作为待防抖处理的目标图像,并将其之前相邻的,或者间隔若干帧采集的图像作为防抖处理的参考的基准图像。

此外,还可以从所述目标图像之前所采集到的若干帧图像中,选择参考物的边缘清晰程度最高的图像作为基准图像。

步骤102,对目标图像和所述基准图像进行特征点匹配,以确定目标图像和基准图像中相互匹配的至少一组特征点对,特征点对包括位于目标图像的第一特征点和位于所述基准图像的第二特征点。

目标图像和基准图像中,存在一些图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点(即两个边缘的交点),在本步骤中,分别从目标图像和基准图像中识别出这些点,作为特征点,并描述这些特征点信息,例如颜色特征和纹理特征等。

由于目标图像和基准图像中的特征点能够反映对应成像对象的本质特征,从而通过将不同图像中具有相同或相似特征点信息的特征点进行匹配,能够从不同图像中确定对应相同成像对象的特征点,也就是特征点对。

可选地,获取目标图像和基准图像的特征点信息,进行特征点匹配。

可选地,获取目标图像和基准图像的纹理特征信息,进行特征点匹配。其中,纹理特征信息包括边缘特征信息和角点特征信息中的至少一种。其中,边缘特征信息是指图像边缘轮廓的特征点,是灰度阶跃变化的像素点,角点是两条边的交点,也就是角点的局部邻域具有两个不同区域的不同方向的边界。

可选地,对目标图像和基准图像进行金字塔图像分割,获取分割后的图像的特征点信息。

可选地,利用边缘检测法获取图像的边缘特征信息,利用角点检测算法获取图像的角点特征信息。

可选地,利用光流算法对目标图像和基准图像进行特征点匹配。

可以理解的是,对目标图像和基准图像进行特征点匹配,确定相互匹配的多个特征点之后,可以基于匹配的特征点在目标图像和基准图像中的图像位置,得到目标图像与基准图像之间特征点的映射关系,以便后续根据该映射关系对目标图像调整像素点位置,以使得处理后的目标图像所呈现的画面与基准图像趋于一致。

步骤103,根据至少一组特征点对中至少一个第一特征点所处的第一图像位置,以及至少一个第二特征点所处的第二图像位置,确定至少一组特征点对的位置差异,根据至少一组特征点对的位置差异,确定参考误差。

其中,参考误差是衡量目标图像和基准图像之间匹配的特征点所处的位置的差异的参量,也就是说是衡量目标图像和基准图像两幅图像之间的差异大小的参量。两幅图像差异越大,参考误差的值就越大。

可选地,参考误差可以是至少一组特征点对的位置差异的平均绝对误差。

步骤104,根据参考误差和至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像。

其中,特征点对个数指的是目标图像中与参考图像匹配的特征点对个数。

可选地,所述防抖处理方法包括特征点匹配方法进行防抖处理、特征点匹配和陀螺仪防抖的组合方法进行防抖处理和陀螺仪防抖方法进行防抖处理中的至少一种。

根据参考误差和目标图像中匹配的至少一组特征点对的特征点对个数,划分了多种可能的防抖场景。由于各防抖处理方法均具有一定的局限性,根据各防抖处理方法适合的场景,选择目标图像的防抖处理方法,有利于提高防抖效果。

本申请实施例通过采集待防抖处理的目标图像,以及在所述目标图像之前所采集的基准图像,对所述目标图像和所述基准图像进行特征点匹配,以确定所述目标图像和所述基准图像中相互匹配的至少一组特征点对,所述特征点对包括位于所述目标图像的第一特征点和位于所述基准图像的第二特征点,根据所述至少一组特征点对中至少一个所述第一特征点所处的第一图像位置,以及至少一个所述第二特征点所处的第二图像位置,确定所述至少一组特征点对的位置差异,根据所述至少一组特征点对的位置差异,确定参考误差,根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像,有效提升了相机的防抖能力,避免了额外特殊部件的使用,降低了成本,提高了防抖的效果。

图2为本申请实施例提供的另一种防抖控制方法的流程示意图。

如图2所示,该防抖控制方法可以包括以下步骤:

步骤201,采集待防抖处理的目标图像,以及在目标图像之前所采集的基准图像。

可选地,通过摄像机获取图像,可以将启动摄像机后拍摄画面的第一帧画面作为基准图像,后续的出现抖动偏移的帧的画面作为待防抖处理的目标图像。

步骤202,对目标图像和基准图像进行特征点匹配,以确定目标图像和基准图像中相互匹配的至少一组特征点对,特征点对包括位于目标图像的第一特征点和位于基准图像的第二特征点。

在一些实施方式中,对目标图像和基准图像分别进行金字塔分割,将图像分成0-7这8个层级。其中,金字塔分割是指,将图像进行缩放,通过若干个不同的缩放的层级来描述一幅图像。

可选地,对于每一金字塔层级图像,分别利用边缘检测算法和角点检测算法来获取该图像边缘和角点作为特征点,并提取边缘特征和角点特征,即特征点信息。对目标图像和基准图像的相同金字塔层级图像,根据特征点信息进行特征点匹配,以确定相互匹配的至少一组特征点对。

可以理解的是,对于目标图像各金字塔层级内特征点,可以基于特定点信息匹配的方式,在基准图像对应金字塔层级内确定特征点信息相同或相似的匹配特征点。由于目标图像各金字塔层级内特征点在目标图像中具有对应的特征点,相似的,基准图像各金字塔层级内的特征点在基准图像中也具有对应的特征点,因此,根据目标图像和基准图像中相同金字塔层级内匹配的特征点,可以在目标图像中和基准图像中确定相互匹配的特征点。

在确定出目标图像中和基准图像中相互匹配的特征点之后,还需要进一步基于相互匹配的特征点分别在目标图像中和基准图像中的图像位置,确定基准图像到目标图像的映射矩阵。

在一些实施方式中,利用光流算法得到基准图像到目标图像的映射矩阵。光流算法可以计算两帧画面在时间t到t+δt之间每个特征点位置的移动,具体步骤如下:

可选地,特征点在基准图像中所处的第二图像位置x,y,z的特征信息可以表示为:I(x,y,z,t),目标图像中的匹配的特征点所处的第一图像位置的特征信息可以表示为:I(x+δx,y+δy,z+δz,t+δt)。则图像特征点的约束方程为:

I(x,y,z,t)=I(x+δx,y+δy,z+δz,t+δt)

假设两个位置的移动足够小,对上述约束方程使用泰勒公式展开,得到:

其中,H.O.T.指高阶项,在移动足够小的情况下可以忽略不计。

从上述方程可以得到:

两边同除δt得:

进一步简化得到:

其中,

将n个特征点代入上述公式可以得到方程组:

通过变换即可获取基准图像中特征点到目标图像中各匹配的特征点之间的映射矩阵:

步骤203,根据至少一组特征点对中至少一个第一特征点所处的第一图像位置,以及至少一个第二特征点所处的第二图像位置,确定至少一组特征点对的位置差异,根据至少一组特征点对的位置差异,确定参考误差。

可选地,参考误差可以是所述至少一组特征点对的位置差异的平均绝对误差。

可选地,根据步骤202中得到的映射矩阵,将基准图像的至少一个第二特征点所处的第二图像位置通过该映射矩阵变换得到映射位置。计算映射位置和基准图像中匹配的特征点所处的第二图像位置的位置差异,以确定至少一组特征点对的位置差异,再根据所述至少一组特征点对的位置差异计算平均绝对误差。

步骤204,根据参考误差和至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像。

其中,对目标图像进行防抖处理为以下方法中的一种:采用陀螺仪防抖方法进行防抖处理、采用特征点匹配方法进行防抖处理,以及采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理。

若采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理,则执行步骤205-208;若采用陀螺仪防抖方法进行防抖处理,则执行步骤209;若采用特征点匹配方法进行防抖处理,则执行步骤210。

根据参考误差和目标图像中匹配的至少一组特征点对的特征点对个数,划分了多种可能的防抖场景。由于各防抖处理方法均具有一定的局限性,根据各防抖处理方法适合的场景,选择目标图像的防抖处理方法,有利于提高防抖效果。作为一种可能的实现方式:在特征点对个数小于阈值个数的情况下,确定采用陀螺仪防抖方法进行防抖处理;在特征点对个数大于或等于阈值个数,且参考误差小于第一误差值的情况下,确定采用特征点匹配方法进行防抖处理;在特征点对个数大于或等于阈值个数,且参考误差大于或等于第一误差值,且参考误差小于或等于第二误差值的情况下,确定采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理;在特征点对个数大于或等于阈值个数,且参考误差大于第二误差值的情况下,确定采用陀螺仪防抖方法进行防抖处理。

其中,阈值个数、第一误差值和第二误差值可以是根据经验预先设定的,也可以根据场景需求以及处理计算能力的不同进行灵活设置和调整。作为一种可能的实施方式,阈值个数取值范围为16至24,例如阈值个数可以是20。第一误差值为20,第二误差值为40。

步骤205,若采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理,则对目标图像采用特征点匹配方法进行防抖处理,以得到目标图像中各像素点的第一偏移量。

可选地,根据步骤202中得到的目标图像与基准图像的特征点之间的映射矩阵,对目标图像进行逆向仿射变换,以得到目标图像中各像素点的第一偏移量。

步骤206,对目标图像采用陀螺仪防抖方法进行防抖处理,以得到目标图像中各像素点的第二偏移量。

可选地,对目标图像采用陀螺仪防抖方法进行防抖处理,以得到目标图像中各像素点的第二偏移量,包括:

获取陀螺仪在采集所述目标图像和所述基准图像之间采集的多个抖动角速度;采用卡尔曼滤波,对所述多个抖动角速度进行滤波;根据滤波后的所述多个抖动角速度,确定所述第二偏移量。具体来说,根据滤波后的所述多个抖动角速度进行时间积分,以得到目标图像相对于基准图像的陀螺仪角度变化量。根据该角度变化量,对目标图像进行反向的角度变化,以抵消目标图像相对于基准图像的陀螺仪角度变化量,实现防抖。将反向的角度变化量作用在目标图像各像素点中,改变目标图像中各像素点位置。根据各像素点位置的变化量,确定各像素点位置的第二偏移量。

其中,多个抖动角速度包括多个围绕X、Y、Z三个轴旋转的角速度。

步骤207,根据参考误差,对第一偏移量和第二偏移量进行加权求和,以得到加权偏移量。

可选地,加权偏移量=W1*第一偏移量+W2*第二偏移量。其中,W1为,第一偏移量的权重值,W2为第二偏移量的权重值。

在确定采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理的情况下,第一偏移量的权重值W1=(40-参考误差)/20,第二偏移量的权重值W2=1-W1。

需要说明的是,在确定采用陀螺仪防抖方法进行防抖处理的情况下,可以视为将第一偏移量的权重值W1为0,第二偏移量的权重值W2为1;在确定采用特征点匹配方法进行防抖处理的情况下,可以视为第一偏移量的权重值W1为1,第二偏移量的权重值W2为0。

步骤208,根据加权偏移量,对目标图像中各像素点进行位置变换。

可选地,根据步骤207中得到的加权偏移量,对目标图像中的各像素点进行位置变换,也就是,根据加权偏移量,将目标图像中的像素点进行反向偏移,得到防抖处理后的目标图像。

步骤209,若采用陀螺仪防抖方法进行防抖处理,则根据陀螺仪在采集目标图像和基准图像之间采集的多个抖动角速度,得到目标图像相对于基准图像的陀螺仪角度变化量,根据角速度变化量对目标图像进行防抖处理。

获取陀螺仪在采集所述目标图像和所述基准图像之间采集的多个抖动角速度;采用卡尔曼滤波,对所述多个抖动角速度进行滤波,以增强抖动角速度的准确度。根据滤波后的所述多个抖动角速度进行时间积分,以得到目标图像相对于基准图像的陀螺仪角度变化量。根据该角度变化量,对目标图像进行反向的角度变化,以抵消目标图像相对于基准图像的陀螺仪角度变化量,实现防抖。

步骤210,若采用特征点匹配方法进行防抖处理,则根据目标图像与基准图像的特征点之间的映射矩阵,对目标图像进行逆向仿射变换,以将变换后的目标图像作为防抖处理后的目标图像。

本申请实施例的防抖控制方法,通过采集待防抖处理的目标图像,以及在目标图像之前所采集的基准图像,对目标图像和基准图像进行特征点匹配,以确定目标图像和基准图像中相互匹配的至少一组特征点对,特征点对包括位于目标图像的第一特征点和位于基准图像的第二特征点,根据至少一组特征点对中至少一个第一特征点所处的第一图像位置,以及至少一个第二特征点所处的第二图像位置,确定至少一组特征点对的位置差异,根据至少一组特征点对的位置差异,确定参考误差,根据参考误差和至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像,若采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理,则对目标图像采用特征点匹配方法进行防抖处理,以得到目标图像中各像素点的第一偏移量,对目标图像采用陀螺仪防抖方法进行防抖处理,以得到目标图像中各像素点的第二偏移量,根据参考误差,对第一偏移量和第二偏移量进行加权求和,以得到加权偏移量,根据加权偏移量,对目标图像中各像素点进行位置变换,若采用陀螺仪防抖方法进行防抖处理,则根据陀螺仪在采集目标图像和基准图像之间采集的多个抖动角速度,得到目标图像相对于基准图像的陀螺仪角度变化量,根据角速度变化量对目标图像进行防抖处理,若采用特征点匹配方法进行防抖处理,则根据目标图像与基准图像的特征点之间的映射矩阵,对目标图像进行逆向仿射变换,以将变换后的目标图像作为防抖处理后的目标图像。该方法有效提升了相机的防抖能力,避免了额外特殊部件的使用,降低了成本,提高了防抖的效果。

为了实现上述实施例,本申请还提出一种防抖控制装置。

图3为本申请实施例提供的一种防抖控制装置的结构示意图。

如图3所示,该防抖控制装置包括:采集模块310,匹配模块320,误差模块330和处理模块340。

其中,采集模块310,用于采集待防抖处理的目标图像,以及在所述目标图像之前所采集的基准图像;

匹配模块320,用于对所述目标图像和所述基准图像进行特征点匹配,以确定所述目标图像和所述基准图像中相互匹配的至少一组特征点对,所述特征点对包括位于所述目标图像的第一特征点和位于所述基准图像的第二特征点;

误差模块330,用于根据所述至少一组特征点对中至少一个所述第一特征点所处的第一图像位置,以及至少一个所述第二特征点所处的第二图像位置,确定所述至少一组特征点对的位置差异;根据所述至少一组特征点对的位置差异,确定参考误差;

处理模块340,用于根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像。

作为一种可能的实现方式,处理模块340具体用于:

在所述特征点对个数大于或等于阈值个数,且所述参考误差小于第一误差值的情况下,采用特征点匹配方法进行防抖处理,得到防抖处理后的目标图像;

在所述特征点对个数大于或等于所述阈值个数,且所述参考误差大于或等于所述第一误差值,且所述参考误差小于或等于第二误差值的情况下,采用特征点匹配和陀螺仪防抖的组合防抖方法进行防抖处理,得到防抖处理后的目标图像;

在所述特征点对个数大于或等于所述阈值个数,且所述参考误差大于所述第二误差值的情况下,采用陀螺仪防抖方法进行防抖处理,得到防抖处理后的目标图像。

作为一种可能的实现方式,处理模块340还用于:在所述特征点对个数小于所述阈值个数的情况下,采用陀螺仪防抖方法进行防抖处理,得到防抖处理后的目标图像。

作为一种可能的实现方式,处理模块340还用于:对所述目标图像采用特征点匹配方法进行防抖处理,以得到所述目标图像中各像素点的第一偏移量;对所述目标图像采用所述陀螺仪防抖方法进行防抖处理,以得到所述目标图像中各像素点的第二偏移量;根据所述参考误差,对所述第一偏移量和所述第二偏移量进行加权求和,以得到加权偏移量;根据所述加权偏移量,对所述目标图像中各像素点进行位置变换,得到防抖处理后的目标图像。

作为一种可能的实现方式,处理模块340具体用于:获取对所述基准图像中各特征点的第一图像位置,以及所述目标图像中各特征点的第二图像位置,采用光流法进行匹配所得到映射矩阵;其中,所述映射矩阵用于指示从所述第二图像位置变换至所述第一图像位置的映射关系;根据所述映射矩阵,对所述目标图像进行逆向仿射变换,以得到所述目标图像中各像素点的所述第一偏移量。

作为一种可能的实现方式,处理模块340具体用于:获取陀螺仪在采集所述目标图像和所述基准图像之间采集的多个抖动角速度;采用卡尔曼滤波,对所述多个抖动角速度进行滤波;根据滤波后的所述多个抖动角速度,确定所述第二偏移量。

本申请实施例的防抖控制装置,通过采集待防抖处理的目标图像,以及在所述目标图像之前所采集的基准图像,对所述目标图像和所述基准图像进行特征点匹配,以确定所述目标图像和所述基准图像中相互匹配的至少一组特征点对,所述特征点对包括位于所述目标图像的第一特征点和位于所述基准图像的第二特征点,根据所述至少一组特征点对中至少一个所述第一特征点所处的第一图像位置,以及至少一个所述第二特征点所处的第二图像位置,确定所述至少一组特征点对的位置差异,根据所述至少一组特征点对的位置差异,确定参考误差,根据所述参考误差和所述至少一组特征点对的特征点对个数进行防抖处理,得到防抖处理后的目标图像,有效提升了相机的防抖能力,避免了额外特殊部件的使用,降低了成本,提高了防抖的效果。

需要说明的是,前述对防抖控制方法实施例的解释说明也适用于该实施例的防抖控制装置,此处不再赘述。

图4是本申请实施例提供的一种电子设备的结构框图。

如图4所示,该电子设备400包括:存储器410和处理器420,连接不同组件(包括存储器410和处理器420)的总线430。

其中,存储器410用于存储处理器420的可执行指令;处理器420被配置为调用并执行存储器410存储的可执行指令,以实现本申请上述实施例提出的防抖控制方法。

总线430表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

电子设备400典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备400访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器410还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)440和/或高速缓存存储器450。电子设备400可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统460可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线430相连。存储器410可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块470的程序/实用工具480,可以存储在例如存储器410中,这样的程序模块470包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块470通常执行本申请所描述的实施例中的功能和/或方法。

电子设备400也可以与一个或多个外部设备490(例如键盘、指向设备、显示器491等)通信,还可与一个或者多个使得用户能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口492进行。并且,电子设备400还可以通过网络适配器493与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器493通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理器420通过运行存储在存储器410中的程序,从而执行各种功能应用以及数据处理。

为了实现上述实施例,本申请实施例还提出了一种非临时性计算机可读存储介质,该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述任一实施例提出的防抖控制方法。

为了实现上述实施例,本申请实施例还提供一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行前述任一实施例提出的防抖控制方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 开关量信号防抖判别方法及开关量信号防抖判别装置
  • 可弯曲电子设备、可弯曲电子设备的控制方法、装置及电子设备
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 一种电子设备、双屏电子设备的控制方法及装置
  • 电子设备控制方法及装置、电子设备及存储介质
  • 防抖控制方法、防抖控制装置、电子设备及存储介质
  • 摄像头模组的防抖装置、防抖控制方法及装置、电子设备
技术分类

06120115802224