图像补偿方法和装置、计算机可读存储介质和电子设备与流程

文档序号:15848169发布日期:2018-11-07 09:24阅读:207来源:国知局
图像补偿方法和装置、计算机可读存储介质和电子设备与流程

本申请涉及计算机技术领域,特别是涉及图像补偿方法和装置、计算机可读存储介质和电子设备。

背景技术

光学防抖(opticalimagestabilization,光学图像稳定)作为目前被公众认可的一种防抖技术,主要是通过镜头的浮动透镜来纠正“光轴偏移”,其原理是通过镜头内的陀螺仪侦测到微小的移动,然后将信号传至微处理器,处理器立即计算需要补偿的位移量,然后通过补偿镜片组,根据镜头的抖动方向及位移量加以补偿;从而有效的克服因摄像头的振动产生的影像模糊。

但是,在抖动的过程中会产生图像的偏移,镜头的移动会对图像带来实际的影响,一般的防抖技术无法解决图像偏移的问题。



技术实现要素:

本申请实施例提供一种图像补偿方法和装置、计算机可读存储介质和电子设备,可以对抖动产生的图像偏移进行补偿,提高图像的清晰度。

一种图像补偿方法,所述方法包括:

当检测到所述摄像头抖动时,获取所述摄像头的镜头偏移,所述摄像头包括光学图像稳定系统;

根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移;

根据所述图像偏移,对发生抖动时所述摄像头采集的图像进行补偿。

一种图像补偿装置,所述装置,包括:

镜头偏移获取模块,用于当检测到所述摄像头抖动时,获取所述摄像头的镜头偏移,所述摄像头包括光学图像稳定系统;

图像偏移获取模块,用于根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移;

图像补偿模块,用于根据所述图像偏移,对发生抖动时所述摄像头采集的图像进行补偿。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现图像补偿方法的步骤。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行图像补偿方法的步骤。

上述图像补偿方法和装置、计算机可读存储介质和电子设备,可以在检测到摄像头发生抖动时,获取摄像头的镜头偏移;根据预设偏移转换函数,确定与镜头偏移相对应的图像偏移;根据图像偏移对发生抖动时摄像头采集的图像进行补偿,可以更为精准的获取图像偏移,进而在图像拍摄或实时预览过程中对图像进行补偿,提高图像的清晰度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中电子设备的框图;

图2为一个实施例中图像补偿方法的流程图;

图3为另一个实施例中图像补偿方法的流程图;

图4为一个实施例中所述将所述第一位置信息和所述第二位置信息输入至预设偏移转换模型,以确定所述预设偏移转换函数的流程图;

图5为一个实施例中当检测到所述摄像头抖动时,获取所述摄像头的镜头偏移的流程图;

图6为又一个实施例中图像补偿方法的流程图;

图7为一个实施例中图像补偿装置的结构图;

图8为一个实施例中图像处理电路的示意图;

图9为一个实施例中图像处理电路的示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一摄像头称为第二摄像头,且类似地,可将第二摄像头称为第一摄像头。第一摄像头和第二摄像头两者都是摄像头,但其不是同一摄像头。

其中,携带ois(opticalimagestabilization,光学防抖)系统的摄像头包括镜头、音圈马达、红外滤光片、图像传感器(sensoric)和数字信号处理(dsp)、pcb电路板及多个传感器(例如,陀螺仪传感器、霍尔传感器等)。其中,镜头通常由多个镜片组成,其成像作用,若镜头具备ois功能时,在有抖动的情况下,控制镜头相对于图像传感器平移而将手抖造成的图像偏移抵消补偿掉。光学防抖是依靠特殊的镜头或者ccd感光元件的结构在最大程度的降低操作者在使用过程中由于抖动造成影像不稳定。具体地,当摄像头内的陀螺仪侦测到微小的移动时,会将信号传至微处理器立即计算需要补偿的位移量,然后通过补偿镜片组,根据镜头的抖动方向及位移量加以补偿,从而有效的克服因摄像头的抖动产生的影像模糊。

上述携带ois(opticalimagestabilization,光学防抖)系统的摄像头可以应用在电子设备中,电子设备可以为手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑、穿戴式设备、数码相机等具备拍照、摄像功能的任意终端设备。

电子设备可以在检测到所述摄像头发生抖动时,获取所述摄像头的镜头偏移;根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移;根据所述图像偏移对发生抖动时所述摄像头采集的图像进行补偿。

图1为一个实施例中电子设备的框图。如图1所示,该电子设备包括通过系统总线连接的处理器、存储器、显示屏和输入装置。其中,存储器可包括非易失性存储介质及处理器。电子设备的非易失性存储介质存储有操作系统及计算机程序,该计算机程序被处理器执行时以实现本申请实施例中提供的一种图像补偿方法。该处理器用于提供计算和控制能力,支撑整个电子设备的运行。电子设备中的内存储器为非易失性存储介质中的计算机程序的运行提供环境。电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该电子设备可以是手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑、穿戴式设备、数码相机等具备拍照、摄像功能的任意终端设备。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图2为一个实施例中图像补偿方法的流程图。图像补偿方法应用于包括携带ois系统的摄像头。在一个实施例中图像补偿方法,包括步骤202-步骤206。其中,

步骤202,当检测到所述摄像头抖动时,获取所述摄像头的镜头偏移,所述摄像头包括光学图像稳定系统。

当携带ois系统的摄像头的电子设备进入图像预览界面时,摄像头会实时采集各个视角范围的图像,同时,基于摄像头中的陀螺仪传感器或基于电子设备原有中的陀螺仪传感器和/或加速度传感器可以检测摄像头是否发生抖动。在一个实施例中,当陀螺仪传感器采集的角速度发生变化时,则可认为该摄像头发生了抖动。当摄像头发生抖动时,可以获取该摄像头的镜头偏移。

在一个实施例中,可以基于摄像头中的霍尔传感器或激光技术来采集摄像头中镜头的移动量,也即,镜头偏移。

进一步的,可以以摄像头的图像传感器所在平面为xy平面,建立二维坐标系,其二维坐标系的原点位置在本申请中不做进一步的限定。镜头偏移可以理解为镜头抖动后的当前位置与镜头抖动前的起始位置在二维坐标系中的矢量偏移,也即,镜头抖动后的当前位置相对于镜头抖动前的初始位置的矢量距离。其中,初始位置可以理解为镜头与图像传感器之间的距离为镜头的一倍焦距时的镜头位置。

需要说明的是,镜头偏移指的是镜头(凸透镜)移动前后,光心之间的矢量距离。

步骤204,根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移。

电子设备会预先获取镜头在初始位置采集的第一图像,同时并记录第一图像中各个像素点在xy平面的坐标位置。当摄像头发生抖动时,镜头会在xy平面发生移动,也即,电子设备在发生抖动后的当前位置采集的第二图像相对于第一图像在xy平面也会有所偏移,将第二图像相对于第一图像的偏移称之为图像偏移。例如,可以筛选出第一图像和第二图像中同一个特征像素点,第一图像中该特征像素点p1在xy平面的坐标信息为p1(x1,y1),第二图像中该特征像素点p1'在xy平面的坐标信息为(x2,y2),根据特征像素点p1、p1'就可以获取图像偏移d1。但是,当摄像头发生抖动时,无法直接筛选出第一图像和第二图像中同一个特征像素点,通过同一个特征像素点在第一图像和第二图像中的坐标信息获取。在本申请实施例中,可以通过获取镜头偏移,根据预设偏移转换函数来获取图像偏移。

由于镜头偏移的单位为code,图像偏移的单位为像素(pixel)。根据预设偏置转换函数,可以将镜头偏移转换为图像偏移。其中,预设偏移转换函数可以根据特定的标定方式获取,预设偏移转换函数可以用于将镜头偏移转换为图像偏移。其中,可以将镜头在xy平面沿x轴的偏移量与沿y轴的偏移量带入至预设偏移转换函数中对应的变量,通过计算,以获取对应的图像偏移d1。

步骤206,根据所述图像偏移对发生抖动时所述摄像头采集的图像进行补偿。

在本申请实施例中,镜头偏移可以根据霍尔传感器的霍尔值来确定,当发生抖动时,其将摄像头采集的图像称之为第一图像,其中,摄像头采集图像的频率为图像频率。其中,图像频率与霍尔值严格按照时序(时间戳)同步。例如,以30hz进行图像采集,同一时刻以200hz进行霍尔值,则一幅图像在时序上将对应6-7个霍尔值。

根据获取的图像偏移对第一图像进行图像补偿。例如,当前计算出的图像偏移为偏移了1个像素(pixel),则在图像补偿时,将该图像偏移的负方向平移1个像素,实现图像的补偿。

进一步的,本申请实施例可将多个霍尔值对应的图像偏移用于对同一帧图像进行矫正,例如,可将6个霍尔值对应的6个图像偏移对同一帧图像进行矫正,由于摄像头获取的图像是采用cmos逐行扫描得到的图像,故将不同的霍尔值对应不同行数的区域进行图像补偿,例如,目前有hall1-hall6共六个霍尔值,每一个霍尔值对应唯一一个图像偏移,记为biaspixel1-biaspixel6,此时,若cmos扫描了6行,则可分别用biaspixel1-biaspixel6对此6行图像进行逐行修正,若cmos扫描了60行,则可进行分块修正,即60行分为6块,一块包含10行,分别用biaspixel1-biaspixel6对此6块图像进行逐块修正,即,第一块包含的10行均采用biaspixel1作为修正参数进行补偿修正,第二块包含的10行采用biaspixel2作为修正参数进行补偿修正。

上述图像补偿方法,可以在检测到所述摄像头发生抖动时,获取所述摄像头的镜头偏移;根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移;根据所述图像偏移对发生抖动时所述摄像头采集的图像进行补偿,可以更为精准的获取图像偏移,进而在图像拍摄或实时预览过程中对图像进行补偿,提高图像的清晰度。

图3为另一个实施例中图像补偿方法的流程图。在一个实施例中,所述根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移前,还包括获取预设偏转转换函数的步骤,具体包括步骤302-步骤308。

步骤302,驱动马达按照预设轨迹移动所述摄像头的镜头;所述预设轨迹包括多个特征位移点。

将测试标板固定在摄像头的成像范围内,并控制马达按照预设轨迹移动所述摄像头的镜头驱动镜头。预设轨迹可以为圆周、椭圆、矩形或其他预设轨迹。在预设轨迹上设定了多个特征位移点,其中,相邻两个特征位移点的距离可以相同,也可以不相同。其特征位移点的位置信息可以在xy平面中用坐标位置进行表示。

步骤304,当所述镜头移动至每个所述特征位移点时,对应采集测试标板的图像信息。

当驱动马达推动摄像头的镜头按照预设轨迹移动时,在每个特征位移点对对应采集测试标板的图像信息。其中,测试标板可以为ctf(contrasttransferfunction)标板、sfr(spatialfrequencyresponse)标板、db标板或其他自定义标板。例如,当特征位移点的数量为六个时,其需要对应采集六幅测试标板的图像信息。

步骤306,对应获取所述每个特征位移点的第一位置信息及与所述特征位移点相对应的所述图像信息中同一特征像素点的第二位置信息。

特征位移点q的位置信息可以在xy平面中用坐标位置q(xi,yj)进行表示,也即,特征位移点的第一位置信息可以用坐标q(xi,yj)进行表示。例如,若特征位移点的数量为六个,特征位移点的第一位置信息分别记为q1(x1,y1)、q2(x2,y2)、q3(x3,y3)、q4(x4,y4)、q5(x5,y5)、q6(x6,y6)。一个特征位移点对应一幅测试标板的图像信息,该图像信息由多个像素点构成。也即,可以在图像信息中选取一个或多个特征像素点p,以获取在特征像素点p的第二位置信息,特征像素点p的第二位置信息也可以在xy平面中用坐标位置p(xi,yj)进行表示。其中,特征像素点p可以为该图像信息中靠近中心位置的像素点,也可以为该图像信息中亮度最亮的像素点或其他具有突出意义的像素点,在此,对特征像素点的具体位置及定义不做进一步的限定。

当镜头在初始位置时,该特征位移点为q0(x0,y0),获取的测试标板的图像信息中特征像素点为p0(x0,y0),其中,特征位移点q0(x0,y0)可以为原点,特征像素点p0(x0,y0)也可以对应为原点。也即,根据特征位移点、与该特征位移点相对应的特征像素点p(xi,yj)及初始位置处特征像素点p0(x0,y0),可以获取特征像素点相对于初始位置的图像偏移。

当镜头移动至特征位移点q1(x1,y1)时,对应获取测试标板的图像信息中的特征像素点p1(x1,y1);相应的,特征位移点q2(x2,y2)对应特征像素点p2(x2,y2);特征位移点q3(x3,y3)对应特征像素点p3(x3,y3);特征位移点q4(x4,y4)对应特征像素点p4(x4,y4);特征位移点q5(x5,y5)对应特征像素点p5(x5,y5);特征位移点q6(x6,y6)对应特征像素点p6(x6,y6)。

步骤308,将所述第一位置信息和所述第二位置信息输入至预设偏移转换模型,以确定具有标定系数的所述预设偏移转换函数,其中,所述特征位移点的数量与所述标定系数的数量相关联。

将获取的特征移动点的第一位置信息,与该特征位移点相对应的特征像素点的第二位置信息均输入值预设偏移转换模型,通过分析运算,即确定该预设偏移转换模型中的各个系数,进而具有标定系数的预设偏移转换函数。其中,预设偏移转换模型可以为一元二次函数模型,二元二次函数模型,也可以为二元多次函数模型,其该预设偏移转换模型的设定,可以利用神经网络或深度学习的方式来获取的,也可以基于获取的大量的第一位置信息和第二位置信息,通过数据拟合的方式来获取。

其中,预设偏移转换模型不同,其需要获取的特征位移点的数量也不相同,且预设偏移转换模型中的未知系数的数量小于等于特征位移点的数量。

例如,当预设偏移转换模型为二元二次函数模型时,可以用如下公式进行表示:

f(δx,δy)=ax2+by2+cxy+dx+ey+f

式中,(δx,δy)表示图像偏移,该图像偏移表示当前特征位移点p(xi,yj)相对于初始位置的特征像素点p0(x0,y0)的图像偏移,该图像偏移为标量偏移,也即,当前特征位移点p(xi,yj)与初始位置的特征像素点p0(x0,y0)之间的距离。x表示特征位移点横轴x的坐标参数;y特征位移点纵轴y的坐标参数。

本实施例中初始位置处的特征位移点q0(x0,y0)对应的测试标板的图像信息中的特征像素点p0(x0,y0)设为坐标原点。则六个特征像素点对应的图像偏移分别为f1(δx1,δy1)、f2(δx2,δy2)、f3(δx3,δy3)、f4(δx4,δy4)、f5(δx5,δy5)、f6(δx6,δy6),其中,f1(δx1,δy1)为特征像素点p1(x1,y1)、p0(x0,y0)之间的图像偏移d1,f2(δx2,δy2)为特征像素点p2(x2,y2)、p0(x0,y0)之间的图像偏移d2;f3(δx3,δy3)为特征像素点p3(x3,y3)、p0(x0,y0)之间的图像偏移d3;f4(δx4,δy4)为特征像素点p4(x4,y4)、p0(x0,y0)之间的图像偏移d4;f5(δx5,δy5)为特征像素点p5(x5,y5)、p0(x0,y0)之间的图像偏移d5;f6(δx6,δy6)为特征像素点p6(x6,y6)、p0(x0,y0)之间的图像偏移d6。

将获取的六个特征位移点q1(x1,y1)、q2(x2,y2)、q3(x3,y3)、q4(x4,y4)、q5(x5,y5)、q6(x6,y6)以及与该六个特征像素点p1(x1,y1)、p2(x2,y2)、p3(x3,y3)、p4(x4,y4)、p5(x5,y5)、p6(x6,y6)对应的图像偏移的d1、d2、d3、d4、d5、d6分别输入至二元二次函数模型,可以得到以下公式:

f1(δx1,δy1)=ax12+by12+cx1y1+dx1+ey1+f;

f2(δx2,δy2)=ax22+by22+cx2y2+dx2+ey2+f;

f3(δx3,δy3)=ax32+by32+cx3y3+dx3+ey3+f;

f4(δx4,δy4)=ax42+by42+cx4y4+dx4+ey4+f;

f5(δx5,δy5)=ax52+by52+cx5y5+dx5+ey5+f;

f6(δx6,δy6)=ax62+by62+cx6y6+dx6+ey6+f。

其中,二元二次函数模型中包括六个未知系数a、b、c、d、e、f,根据上述六个公式就可以解析出上述等式中的a、b、c、d、e、f,其中,获取的系数a、b、c、d、e、f带入二元二次函数模型,则可以获取对应的预设偏移转换函数,其中,a、b、c、d、e、f为预设偏移转换函数的标定系数。

当然,还可以获取更多的特征位移点q7(x7,y7)、特征位移点q8(x8,y8)等等,以及对该特征位移点对应的特征像素点p7(x7,y7)、p8(x8,y8)对应的图像偏移的d7、d8,将获取的d7、d8、q7(x7,y7)、q8(x8,y8)也输入至上述二元二次函数模型中,进而从八个等式中选取6个等式进行计算,以确定预设偏移转换函数。

本实施例中的图像补偿方法,根据预设偏移转换模型、多个偏移移动点以及对应的多个特征像素点,可以获取对应的预设偏移转换函数,该预设偏移转换函数可以直接基于镜头偏移准确、高效的获取图像偏移值,标定效率、精准度更高,为补偿图像奠定了好的基础。

图4为一个实施例中所述将所述第一位置信息和所述第二位置信息输入至预设偏移转换模型,以确定所述预设偏移转换函数的流程图。在一个实施例中,所述预设偏移转换模型为二元多次函数;所述将所述第一位置信息和所述第二位置信息输入至预设偏移转换模型,以确定所述预设偏移转换函数,包括:

步骤402,根据所述二元多次函数的未知系数确定所述特征位移点的数量。

其中,预设偏移转换模型为二元多次函数模型,其表达式如下:

f(δx,δy)=ax(n)+by(n)+...+cxy+dx+ey+f,

式中,n≥2;(δx,δy)表示图像偏移,该图像偏移表示当前特征位移点p(xi,yj)相对于原始特征像素点p0(x0,y0)的图像偏移,该图像偏移为标量偏移。x表示特征位移点横轴x的坐标参数;y特征位移点纵轴y的坐标参数。a、b、...、c、d、e、f为该预设偏移转换模型中的未知系数。

当预设偏移转换模型为二元多次函数模型时,其中未知系数a、b、...、c、d、e、f的数量大于等于6。具体的,可以获取偏移转换模型的未知系数的数量,例如,当预设偏移转换模型为二元二次函数模型时,其中,未知系数的数量为6个,则需要对应获取大于等于6个的特征位移点。例如,当预设偏移转换模型为二元三次函数模型,该函数模型为:

f(δx,δy)=ax3+by3+gx2y+hxy2+ix2y+cxy+dx+ey+f

其中,未知系数的数量为9个,则需要对应获取大于等于9个的特征位移点。由此可知,特征位移点的数量大于等于预设偏移转换模型的未知系数。

步骤404,将确定的每个所述特征位移点的第一位置信息,以及与所述第一位置信息对应的第二位置信息输入至所述预设偏移转换模型,以确定所述未知系数。

根据确定的预设偏移转换模型中的未知系数的数量,可以预设轨迹中选取具有该数量的特征移动点,且各个特征移动点均不相同。

可选的,特征移动点也可以为xy平面内的任意不重复位置点。

根据确定数量的多个特征位移点,可以对获取各个特征位移点对应的各个测试标板图像信息中的特征像素点,以及特征像素点对应的图像偏移。将各个特征位移点的坐标信息以及对应的图像偏移输入至预设偏转转换模型中,以求解得到预设偏转转换模型的各个未知系数。

步骤406,根据确定的所述未知系数、预设偏移转换模型以确定具有标定系数的所述预设偏移转换函数。

将获取的各个未知系数带入至预设偏移转换模型中,就可以获取具有标定系数的预设偏移转换函数。其中预设偏移转换函数中的标定系数可以理解为预设偏移转换模型中求解的未知系数。将确定了未知系数的预设偏移转换模型称之为预设偏移转换函数。

在一个实施例中,当预设偏移转换模型为二元二次函数模型时,根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移,包括:

获取所述预设偏移转换函数,所述预设偏移转换函数表示为:

f(δx,δy)=ax2+by2+cxy+dx+ey+f

式中,a、b、c、d、e、f分别为标定系数,也就是已知系数。f(δx,δy)用于表示当前图像偏移,x、y分别表示当前镜头偏移的横轴坐标、纵轴坐标。例如,若当前的镜头偏移为p(2,1),则对应的图像偏移f(δx,δy)为4a+b+2c+2d+e+f,根据确定的标定系数,则可以获取图像偏移f(δx,δy),该图像偏移为标量偏移。

根据该预设偏移转换函数就可以确定与所述镜头偏移相对应的图像偏移。也即,当获取镜头偏移时,可以根据该预设偏移转换函数,就可以将当前的镜头偏移转换为图像偏移。该预设偏移转换函数为二元二次函数,其综合考虑镜头偏移的x轴偏移和y轴偏移两个维度的信息,可以更为精准、高效的将镜头偏移转换为图像偏移。

图5为一个实施例中当检测到所述摄像头抖动时,获取所述摄像头的镜头偏移的流程图。在一个实施例中,所述当检测到所述摄像头抖动时,获取所述摄像头的镜头偏移,包括:

步骤502,基于陀螺仪传感器获取摄像头的角速度信息。

其中,该摄像头中还包括用于检测摄像头是否发生抖动的陀螺仪传感器和用于驱动摄像头的镜头移动的马达以及用于控制马达运动的ois控制器。

当陀螺仪传感器检测到摄像头发生抖动时,实时采集该陀螺仪传感器检测到的摄像头的角速度,根据获取的角速度来确定摄像头的抖动量。

步骤504,根据所述角速度信息控制马达驱动所述摄像头的镜头的移动。

根据确定的抖动量控制马达以驱动所述摄像头的镜头移动,其镜头的移动量与该抖动量的方向相反,以消除因抖动引起的偏移。

步骤506,基于霍尔传感器的霍尔值确定所述摄像头的镜头偏移。

电子设备可以通过霍尔传感器或激光记录摄像头的镜头在xy平面上的偏移刻度,并记录偏移刻度的同时,还可以记录偏移的方向,根据每个刻度对应的距离,以及偏移方向,继而得到镜头偏移p(xi,yj)。在本申请实施例中,已知霍尔传感器采集的霍尔值的大小,即可唯一确定出当前时刻该镜头偏移的大小。在ois系统中,该镜头偏移数量级在微米级别。

其中,所述陀螺仪传感器采集的角速度信息与霍尔传感器采集的霍尔值在时序上对应。

其中,霍尔传感器(hallsensor),是根据霍尔效应制作的一种磁场传感器,霍尔效应从本质上讲是运动的带电粒子在磁场中受洛仑兹力作用引起的偏转。当带电粒子(电子或空穴)被约束在固体材料中,这种偏转就导致在垂直电流和磁场的方向上产生正负电荷的聚积,从而形成附加的横向电场。

进一步,步骤506,基于霍尔传感器的霍尔值确定所述摄像头的镜头偏移,包括:获取所述摄像头采集图像的第一频率以及所述陀螺仪采集角速度信息的第二频率;根据所述第一频率和第二频率确定采集一帧图像时对应的多个角速度信息;根据多个角速度信息确定目标角速度信息,根据目标角速度信息对应的霍尔值确定所述摄像头的镜头偏移。

具体地,获取所述摄像头采集图像的第一频率以及陀螺仪采集角速度信息的第二频率。由于陀螺仪传感器的采集频率高于获取摄像头采集图像的频率,例如,摄像头以30hz进行图像采集,同一时刻以陀螺仪传感器以200hz进行角速度的采集,则采集一幅图像的时间,在时序上将对应采集6-7个角速度。在采集的6~7角速度数据中选取目标角速度。其中目标角速度可以为最小角速度、导数最小的角速度、与平均角速度相差最小的角速度。根据给目标角速度获取对应的霍尔传感器的霍尔值,根据确定的霍尔值来确定镜头偏移。

图6为又一个实施例中图像补偿方法的流程图。在一个实施例中,所述摄像头至少包括第一摄像头和第二摄像头。其中,第一摄像头和第二摄像头可以都具备ois功能,也可以只有一个摄像头具备ois功能,本申请实施例在此不做进一步的限定。本申请实施例对第一摄像头和第二摄像头的性能参数(例如,焦距、光圈大小、解像力等等)不做任何限制。在一些实施例中,第一摄像头可为长焦摄像头或广角摄像头中的任一者。第二摄像头可为长焦摄像头或广角摄像头中的任一者。第一摄像头和第二摄像头可设置于电子设备的同一平面内,比如,同时设置在电子设备的背面或前面。双摄像头在电子设备的安装距离可根据终端的尺寸确定和/或拍摄效果等确定。在一些实施例中,为了使左右摄像头(第一摄像头和第二摄像头)拍摄的物体重叠度高,可将左右摄像头安装得越近越好,例如,10mm以内。

在一个实施例中,图像补偿方法,还包括:

步骤602,当检测到所述第一摄像头和所述第二摄像头抖动时,获取所述第一摄像头的第一镜头偏移和所述第二摄像头的第二镜头偏移以及在同一时刻,所述第一摄像头和第二摄像头拍摄目标对象的第一图像和第二图像。

根据前述实施例中步骤202的方法,当第一摄像头和/或所述第二摄像头抖动时,可以基于霍尔传感器获取所述第一摄像头的第一镜头偏移和/或所述第二摄像头的第二镜头偏移。当其中一个摄像头未发生偏移时,其对应的镜头偏移为0。

同时,获取第一镜头偏移和/或第二镜头偏移的同时,还可以获取第一摄像头拍摄目标对象的第一图像以及获取第二摄像头分别拍摄包含目标对象的第二图像。

步骤604,根据预设偏移转换函数,确定与所述第一镜头偏移相对应的第一图像偏移,以及与所述第二镜头偏移相对应的第二图像偏移。

根据前述实施例中步骤204的方法,根据预设偏移转换函数,确定与所述第一镜头偏移相对应的第一图像偏移,以及与所述第二镜头偏移相对应的第二图像偏移。例如,预设偏移转换函数可以表示为:

f(δx,δy)=ax2+by2+cxy+dx+ey+f

式中,a、b、c、d、e、f分别为所述标定系数;f(δx,δy)为图像偏移;x、y分别为镜头偏移的在x、y平面的坐标。将获取的第一镜头偏移带入上述预设偏移转换函数中,就可以将第一镜头偏移转换为第一图像偏移;相应的,将获取的第二镜头偏移带入上述预设偏移转换函数中,就可以将第二镜头偏移转换为第二图像偏移。

步骤606,根据第一图像偏移对所述第一图像进行补偿,及根据所述第二图像偏移对所述第二图像进行补偿,以获取补偿后的第一图像与第二图像中同一特征拍摄物之间的距离信息。

根据前述实施例中步骤204的方法,可以根据第一图像偏移对所述第一图像进行补偿,及根据所述第二图像偏移对所述第二图像进行补偿。分别获取补偿后的第一图像和补偿后的第二图像,并获取补偿后的第一图像与第二图像中同一特征拍摄物之间的距离信息。

其中,距离信息为矢量距离,可以是补偿后的第一图像与第二图像重叠之后映射在xy平面上,进而获取补偿后的两个图像中目标对象之间的坐标距离。

具体地,距离信息可以是将补偿后的第一图像与第二图像重叠之后映射在xy平面上,并获取补偿后的两个图像中目标对象的同一特征像素点的坐标之间的矢量距离;也可以是在xy平面上获取补偿后第一图像的多个特征像素点,并针对每个特征像素点,在补偿后的第二图像中对应获取与该特征像素点具有相同特征的特征像素点。针对每个特征像素点,可以获取补偿后的两个图像中同一特征像素点的坐标之间的矢量距离,在根据获取的多个矢量距离计算平均值,并将该平均值作为补偿后的第一图像与第二图像中同一特征拍摄物之间的距离信息。

步骤608,根据所述距离信息、第一摄像头和第二摄像头确定所述目标对象的景深信息。

其中,第一摄像头、第二摄像头位于同一平面,可以获取两个摄像头之间的距离以及第一摄像头和第二摄像头的焦距。其中,第一摄像头和第二摄像头的焦距相等。基于三角测距远离,可以获取目标对象与两个摄像头所在平面之间的距离z,其中,距离z为目标对象的景深信息。具体地,距离z=两个摄像头之间的距离*(第一摄像头或第二摄像头的焦距)/距离信息。

可选的,还可以基于第一摄像头、第二摄像头的成像的位移差、姿势差成比例等关系来确定目标对象的景深信息。

可选的,本方案还可以适用于包括三个或三个以上的摄像头的电子设备,其中,三个或三个以上的摄像头中至少包括一个具备ois功能的摄像头。以三个摄像头为例进行说明,可以构成两两摄像头的组合,该组合中,至少一个摄像头具备ois功能。每个组合中的两个摄像头可以获取目标对象的深度信息,这样就可以获取三组深度信息,可以将三组深度信息的平均深度作为目标对象的实际深度。

本实施例中,可以通过在第一摄像头和第二摄像头发生抖动时采集的第一图像和第二图像进行补偿,进而根据补偿后的第一图像和第二图像来获取第一目标对象的景深信息,从而获取的景深信息更为准确。

图7为一个实施例中图像补偿装置的结构图。本申请实施例还提供了一种图像补偿装置,所述装置,包括:

镜头偏移获取模块710,用于当检测到所述摄像头抖动时,获取所述摄像头的镜头偏移,所述摄像头包括光学图像稳定系统;

图像偏移获取模块720,用于根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移;

图像补偿模块730,用于根据所述图像偏移,对发生抖动时所述摄像头采集的图像进行补偿。

上述图像补偿装置可以在检测到所述摄像头发生抖动时,获取所述摄像头的镜头偏移;根据预设偏移转换函数,确定与所述镜头偏移相对应的图像偏移;根据所述图像偏移对发生抖动时所述摄像头采集的图像进行补偿,可以更为精准的获取图像偏移,进而在图像拍摄或实时预览过程中对图像进行补偿,提高图像的清晰度。

在一个实施例中,图像补偿装置,还包括:

镜头驱动模块,用于驱动马达按照预设轨迹移动所述摄像头的镜头;所述预设轨迹包括多个特征位移点;

图像采集模块,用于当所述镜头移动至每个所述特征位移点时,对应采集测试标板的图像信息;

位置获取模块,用于对应获取所述每个特征位移点的第一位置信息及在所述特征位移点采集的所述图像信息中同一特征像素点的第二位置信息;

函数确定模块,用于将所述第一位置信息和所述第二位置信息输入至预设偏移转换模型,以确定具有标定系数的所述预设偏移转换函数,其中,所述特征位移点的数量与所述标定系数的数量相关联。

在一个实施例中,函数确定模块,包括:

数量确定单元,用于根据所述二元多次函数的未知系数确定所述特征位移点的数量;

系数确定单元,用于将确定的每个所述特征位移点的第一位置信息,以及与所述第一位置信息对应的第二位置信息输入至所述预设偏移转换模型,以确定所述未知系数;

函数确定单元,用于根据确定的所述未知系数、预设偏移转换模型以确定具有标定系数的所述预设偏移转换函数。

在一个实施例中,图像偏移获取模块,包括:

函数获取单元,用于获取所述预设偏移转换函数,所述预设偏移转换函数表示为:

f(δx,δy)=ax2+by2+cxy+dx+ey+f

式中,a、b、c、d、e、f分别为所述标定系数;f(δx,δy)为图像偏移;x、y分别为镜头偏移的在x、y平面的坐标。

偏移转换单元,用于根据所述预设偏移转换函数确定与所述镜头偏移相对应的图像偏移。

在一个实施例中,图像偏移获取模块,包括:

角速度获取单元,用于基于陀螺仪传感器获取摄像头的角速度信息;

马达驱动单元,用于根据所述角速度信息控制马达驱动所述摄像头的镜头的移动;

镜头偏移单元,用于基于霍尔传感器的霍尔值确定所述摄像头的镜头偏移。

进一步的,镜头偏移单元还用于获取所述摄像头采集图像的第一频率以及所述陀螺仪采集角速度信息的第二频率;根据所述第一频率和第二频率确定采集一帧图像时对应的多个角速度信息;根据多个角速度信息确定目标角速度信息,并根据目标角速度信息对应的霍尔值确定所述摄像头的镜头偏移。

在一个实施例中,所述摄像头至少包括第一摄像头和第二摄像头;图像补偿装置,还包括:

获取模块,用于当检测到所述第一摄像头和所述第二摄像头抖动时,获取所述第一摄像头的第一镜头偏移和所述第二摄像头的第二镜头偏移以及在同一时刻,所述第一摄像头和第二摄像头拍摄目标对象的第一图像和第二图像;

转换模块,用于根据预设偏移转换函数,确定与所述第一镜头偏移相对应的第一图像偏移,以及与所述第二镜头偏移相对应的第二图像偏移;

补偿模块,用于根据第一图像偏移对所述第一图像进行补偿,及根据所述第二图像偏移对所述第二图像进行补偿,以获取补偿后的第一图像与第二图像中同一特征拍摄物之间的距离信息;

景深模块,用于根据所述距离信息、第一图像和第二图像确定所述目标对象的景深信息。

本实施例中,可以通过在第一摄像头和第二摄像头发生抖动时采集的第一图像和第二图像进行补偿,进而根据补偿后的第一图像和第二图像来获取第一目标对象的景深信息,从而获取的景深信息更为准确。

上述图像补偿装置中各个模块的划分仅用于举例说明,在其他实施例中,可将图像补偿装置按照需要划分为不同的模块,以完成上述图像补偿装置的全部或部分功能。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述任一实施例中的图像补偿方法。

本申请实施例还提供一种电子设备。上述电子设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义isp(imagesignalprocessing,图像信号处理)管线的各种处理单元。图8为一个实施例中图像处理电路的示意图。如图8所示,为便于说明,仅示出与本申请实施例相关的图像补偿技术的各个方面。

如图8所示,图像处理电路包括isp处理器840和控制逻辑器850。成像设备810捕捉的图像数据首先由isp处理器840处理,isp处理器840对图像数据进行分析以捕捉可用于确定和/或成像设备810的一个或多个控制参数的图像统计信息。成像设备810可包括具有一个或多个透镜812和图像传感器814的照相机。图像传感器814可包括色彩滤镜阵列(如bayer滤镜),图像传感器814可获取用图像传感器814的每个成像像素捕捉的光强度和波长信息,并提供可由isp处理器840处理的一组原始图像数据。传感器820(如陀螺仪)可基于传感器820接口类型把采集的图像补偿的参数(如防抖参数)提供给isp处理器840。传感器820接口可以利用smia(standardmobileimagingarchitecture,标准移动成像架构)接口、其它串行或并行照相机接口、或上述接口的组合。

此外,图像传感器814也可将原始图像数据发送给传感器820,传感器820可基于传感器820接口类型把原始图像数据提供给isp处理器840进行处理,或者传感器820将原始图像数据存储到图像存储器830中。

isp处理器840按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,isp处理器840可对原始图像数据进行一个或多个图像补偿操作、收集关于图像数据的统计信息。其中,图像补偿操作可按相同或不同的位深度精度进行。

isp处理器840还可从图像存储器830接收像素数据。例如,传感器820接口将原始图像数据发送给图像存储器830,图像存储器830中的原始图像数据再提供给isp处理器840以供处理。图像存储器830可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括dma(directmemoryaccess,直接直接存储器存取)特征。

当接收到来自图像传感器814接口或来自传感器820接口或来自图像存储器830的原始图像数据时,isp处理器840可进行一个或多个图像补偿操作,如时域滤波。isp处理器840处理后的图像数据可发送给图像存储器830,以便在被显示之前进行另外的处理。isp处理器840从图像存储器830接收处理数据,并对所述处理数据进行原始域中以及rgb和ycbcr颜色空间中的图像数据处理。处理后的图像数据可输出给显示器880,以供用户观看和/或由图形引擎或gpu(graphicsprocessingunit,图形处理器)进一步处理。此外,isp处理器840的输出还可发送给图像存储器830,且显示器880可从图像存储器830读取图像数据。在一个实施例中,图像存储器830可被配置为实现一个或多个帧缓冲器。此外,isp处理器840的输出可发送给编码器/解码器870,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器880设备上之前解压缩。

isp处理后的图像数据可发送给编码器/解码器870,以便编码/解码图像数据。编码的图像数据可被保存,并在显示与显示器880设备上之前解压缩。isp处理器840处理后的图像数据还可以先经过编码器/解码器870处理。其中,编码器/解码器870可为移动终端中cpu(centralprocessingunit,中央处理器)或gpu(graphicsprocessingunit,图形处理器)等。

isp处理器840确定的统计数据可发送给控制逻辑器850单元。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜812阴影补偿等图像传感器814统计信息。控制逻辑器850可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备810的控制参数以及isp处理器840的控制参数。例如,成像设备810的控制参数可包括传感器820控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、透镜812控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。isp控制参数可包括用于自动白平衡和颜色调整(例如,在rgb处理期间)的增益水平和色彩补偿矩阵,以及透镜812阴影补偿参数。

图9为另一个实施例中图像处理电路的示意图。如图9所示,为便于说明,仅示出与本申请实施例相关的图像补偿技术的各个方面。

第一摄像头100可包括具有一个或多个透镜1202和第一图像传感器140;第一图像传感器140可包括色彩滤镜阵列(如bayer滤镜),第一图像传感器140可获取用第一图像传感器140的每个成像像素捕捉的光强度和波长信息,并提供可由第一isp处理器912处理的一组原始图像数据,第一isp处理器912处理第一图像后,可将第一图像的统计数据(如图像的亮度、图像的反差值、图像的颜色等)发送给控制逻辑器920,控制逻辑器920可根据统计数据确定第一摄像头100的控制参数,从而第一摄像头100可根据控制参数进行自动对焦、自动曝光、ois防抖等操作。第一图像经过第一isp处理器912进行处理后可存储至图像存储器950中,第一isp处理器912也可以读取图像存储器950中存储的图像以对进行处理。另外,第一图像经过isp处理器912进行处理后可直接发送至显示器970进行显示,显示器970也可以读取图像存储器950中的图像以进行显示。

第二摄像头的处理流程和第一摄像头相同。图像传感器、isp处理器的功能和单摄情况的描述相同。

应理解,第一isp处理器912和第二isp处理器914也可合成为统一isp处理器,分别处理第一图像传感器和第二图像传感器的数据。

此外,图中没有展示的,还包括cpu和供电模块。cpu和逻辑控制器920、第一isp处理器912、第二isp处理器914、图像存储器950和显示器970均连接,cpu用于实现全局控制。供电模块用于为各个模块供电。

一般的,具有双摄的手机,在某些拍照模式(例如,人像模式)下,双摄均工作,此时,cpu控制供电模块为第一摄像头和第二摄像头供电。第一摄像头中的图像传感器上电,第二摄像头中的图像传感器上电,就可以实现图像的采集转换。在某些拍照模式下(例如,照片模式),默认仅其中的一个摄像头工作,例如,仅长焦摄像头工作,这种情况下,cpu控制供电模块给相应摄像头的图像传感器供电即可。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1