CN114339102B - 一种录像方法及设备 - Google Patents
一种录像方法及设备 Download PDFInfo
- Publication number
- CN114339102B CN114339102B CN202011057718.6A CN202011057718A CN114339102B CN 114339102 B CN114339102 B CN 114339102B CN 202011057718 A CN202011057718 A CN 202011057718A CN 114339102 B CN114339102 B CN 114339102B
- Authority
- CN
- China
- Prior art keywords
- image
- camera
- translation
- original
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Studio Devices (AREA)
Abstract
本申请实施例提供一种录像方法及设备,涉及电子技术领域,能够在视频录制场景下结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高视频图像的稳像效果,提高用户拍摄体验。具体方案为:电子设备在开启录像功能后采集原始图像;根据采集到的多帧原始图像的图像信息获得相机的目标平移信息;根据多帧原始图像对应的姿态传感器数据获得相机的旋转信息;根据相机的目标平移信息和相机的旋转信息,计算第一原始图像的稳像变换矩阵,第一原始图像为多帧原始图像中的图像;根据稳像变换矩阵对第一原始图像进行图像变换获得目标图像。本申请实施例用于视频防抖。
Description
技术领域
本申请实施例涉及电子技术领域,尤其涉及一种录像方法及设备。
背景技术
随着拍摄技术的发展,用户对视频录制效果的要求也越来越高。在视频录制过程中,由于用户手抖或电子设备晃动等原因,容易使得电子设备发生运动从而导致拍摄的图像发生抖动。电子设备可以根据陀螺仪(gyro)数据,去除图像帧之间由于相机的旋转运动导致的图像抖动。而仅使用陀螺仪数据对图像进行防抖处理的效果不佳,用户拍摄体验较差。
发明内容
本申请实施例提供一种录像方法及设备,能够在视频录制场景下结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,减小由于用户手动或电子设备晃动等原因导致的图像抖动,提高视频图像的稳像效果,提高用户拍摄体验。
为达到上述目的,本申请实施例采用如下技术方案:
一方面,本申请实施例提供一种录像方法,应用于电子设备,电子设备包括相机,该方法可以包括:电子设备在开启录像功能后采集原始图像。电子设备根据采集到的多帧原始图像的图像信息获得相机的目标平移信息。而后,电子设备根据多帧原始图像对应的姿态传感器数据获得相机的旋转信息。电子设备根据相机的目标平移信息和相机的旋转信息,计算第一原始图像的稳像变换矩阵,第一原始图像为多帧原始图像中的图像。电子设备根据稳像变换矩阵对第一原始图像进行图像变换获得目标图像。
在该方案中,电子设备能够在视频录制场景下结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,减小由于用户手动或电子设备晃动等原因导致的图像抖动,提高视频图像的稳像效果,提高用户拍摄体验。
在一种可能的设计中,电子设备在开启录像功能后采集原始图像,可以包括:电子设备在开启录像功能并检测到用户的拍摄操作后采集原始图像。该方法还可以包括:电子设备检测到用户的停止拍摄操作后,根据视频图像生成视频文件,视频图像为目标图像。
也就是说,在视频拍摄过程中,电子设备可以结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息对原始图像进行防抖处理从而生成视频图像,减小由于用户手动或电子设备晃动等原因导致的图像抖动,提高视频图像的稳像效果,提高用户拍摄体验。
在另一种可能的设计中,电子设备在开启录像功能后采集原始图像,可以包括:电子设备在开启录像功能并检测到用户的拍摄操作后采集原始图像。该方法还可以包括:电子设备在拍摄界面上显示录拍图像,录拍图像为目标图像。
也就是说,在视频拍摄过程中,电子设备可以结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息对原始图像进行防抖处理从而生成录拍图像,减小由于用户手动或电子设备晃动等原因导致的图像抖动,提高拍摄界面上录拍图像的稳像效果,提高用户拍摄体验。
在另一种可能的设计中,目标图像为预览图像,该方法还可以包括:电子设备在预览界面上显示预览图像。
也就是说,在视频拍摄过程中,电子设备可以结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息对原始图像进行防抖处理从而生成预览图像,减小由于用户手动或电子设备晃动等原因导致的图像抖动,提高预览界面上预览图像的稳像效果,提高用户拍摄体验。
在另一种可能的设计中,相机的目标平移信息为相机的目标平移曲线。电子设备根据采集到的多帧原始图像的图像信息获得相机的目标平移信息,可以包括:电子设备根据多帧原始图像中相邻两帧原始图像的图像信息,获得相邻两帧原始图像对应的目标平移向量。连续多帧原始图像之间的目标平移向量相连形成了相机的原始平移曲线。电子设备根据相机的原始平移曲线获得相机的目标平移曲线。
也就是说,相机的目标平移曲线可以用于表示相机的平移情况。电子设备可以根据原始图像的额图像信息获得相机的原始平移曲线,从而根据相机的原始平移曲线生成相机的目标平移曲线。
在另一种可能的设计中,电子设备根据相邻两帧原始图像的图像信息,获得相邻两帧原始图像对应的目标平移向量,可以包括:电子设备根据相邻两帧原始图像上的特征点计算第一平移向量;根据第一平移向量获得相邻两帧原始图像对应的目标平移向量。
这样,电子设备可以根据原始图像的图像信息获得第一平移向量,从而根据第一平移向量获得目标平移向量,以便根据目标平移向量获得相机的原始平移曲线。
在另一种可能的设计中,电子设备根据第一平移向量获得相邻两帧原始图像对应的目标平移向量,可以包括:电子设备根据相邻两帧原始图像对应的运动传感器数据计算第二平移向量。电子设备从第一平移向量中选取第三平移向量,第三平移向量位于第二平移向量的δ邻域内;根据第三平移向量获得相邻两帧原始图像对应的目标平移向量。
这样,电子设备对第一平移向量进行过滤得到的第三平移向量,与第二平移向量之间的距离较小,可以滤除大部分错误匹配的特征点对所对应的第一平移向量,滤除被拍摄的运动物体本身的局部运动所对应的第一平移向量,使得选取的第三平移向量能够更为准确地表示由于用户手抖或电子设备晃动等原因导致的相机的整体平移情况。
在另一种可能的设计中,电子设备根据第三平移向量获得相邻两帧原始图像对应的目标平移向量,可以包括:电子设备从第三平移向量中选取相似度大于或者等于预设值的第四平移向量。电子设备根据第四平移向量对应的特征点,获得相邻两帧原始图像对应的目标平移向量。
这样,电子设备对第三平移向量进行过滤获得的第四平移向量,可以滤除与目标方向平移类似的被拍摄的运动物体的局部运动对应的平移向量以及离群点,使得第四平移向量能够更为准确地表示相邻两帧原始图像的平移情况。进而,电子设备可以根据更为准确的第四平移向量获得目标平移向量。
在另一种可能的设计中,电子设备根据相机的目标平移信息和相机的旋转信息,计算第一原始图像的稳像变换矩阵,可以包括:电子设备根据相机的目标平移信息计算第一原始图像的平移补偿量;根据相机的旋转信息计算第一原始图像的旋转补偿量;电子设备根据平移补偿量和旋转补偿量,计算第一原始图像的稳像变换矩阵。
这样,电子设备可以根据平移补偿量和旋转补偿量生成稳像变换矩阵,从而对原始图像进行warp变换和运动补偿。
在另一种可能的设计中,该方法还可以包括:若满足预设条件,则电子设备根据多帧原始图像对应的姿态传感器数据获得相机的旋转信息;电子设备根据相机的旋转信息计算第一原始图像的稳像变换矩阵;根据稳像变换矩阵对第一原始图像进行图像变换获得目标图像。
也就是说,电子设备在满足一定的条件后,可以退出五轴防抖模式,从而根据相机的旋转信息进行防抖处理,而不需要结合根据图像内容获得的相机的目标平移信息来进行防抖处理。
在另一种可能的设计中,该方法还可以包括:若满足预设条件,则提示用户已退出目标防抖模式。
这样,用户可以方便地获知当前是否处于目标防抖模式,该目标防抖模式可以为五轴防抖模式。
在另一种可能的设计中,该预设条件包括:相邻两帧原始图像上的特征点的数量小于或者等于第二预设值;或者,相邻两帧原始图像对应的所述第三平移向量占所述第一平移向量的比例小于或者等于第三预设值;或者,相邻两帧原始图像所述第四平移向量占所述第三平移向量的比例小于或者等于第四预设值;或者,连续P帧原始图像之间的平移补偿量的方差大于或者等于第五预设值,P为大于1的整数;或者,连续Q帧原始图像之间的平移幅度大于或者等于第六预设值,Q为大于1的整数。
其中,在满足预设条件的情况下,可以表明根据图像信息确定的目标平移信息不准,不能或不需要结合目标平移信息对图像进行防抖处理,因而电子设备可以只根据旋转信息确定稳像变换矩阵,以对图像进行防抖处理。
在另一种可能的设计中,电子设备根据多帧原始图像对应的姿态传感器数据获得相机的旋转信息,可以包括:电子设备根据N帧原始图像对应的姿态传感器数据获得相机的旋转信息,N为大于1的整数,且N=N1+I+N2,N1和I为正整数,N2为非负整数。电子设备根据相机的旋转信息计算第一原始图像的稳像变换矩阵,包括:电子设备根据相机的旋转信息上N帧原始图像对应的相机的目标位姿,计算I帧原始图像的稳像变换矩阵,I帧原始图像即为第一原始图像,I帧原始图像的稳像变换矩阵用于获得I帧目标图像,I帧原始图像的起始帧与N帧原始图像中的第N1+1帧原始图像对应。
也就是说,电子设备可以根据某个原始图像之前的原始图像以及之后的原始图像,来计算该原始图像对应的相机位姿和稳像变换矩阵,使得不同原始图像对应的相机位姿之间的变化更为平滑,提高稳像效果。
在另一种可能的设计中,当目标图像为预览图像或录拍图像时,N2为0。
这样,在预览界面和拍摄界面上,电子设备不需要根据某个原始图像之后的原始图像,来计算该原始图像对应的相机位姿和稳像变换矩阵,因而可以实时处理并显示该原始图像对应的预览图像和录拍图像。
另一方面,本申请实施例提供了一种拍摄装置,该装置包含在电子设备中。该装置具有实现上述方面及可能的设计中任一方法中电子设备行为的功能,使得电子设备执行上述方面任一项可能的设计中电子设备执行的录像方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。例如,该装置可以包括采集单元、获得单元和处理单元等。
又一方面,本申请实施例提供了一种电子设备,包括:相机,相机包括摄像头,摄像头用于采集图像;屏幕,用于显示界面,一个或多个处理器;以及存储器,存储器中存储有代码。当代码被电子设备执行时,使得电子设备执行上述方面任一项可能的设计中电子设备执行的录像方法。
又一方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;以及存储器,存储器中存储有代码。当代码被电子设备执行时,使得电子设备执行上述方面任一项可能的设计中电子设备执行的录像方法。
又一方面,本申请实施例提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述方面任一项可能的设计中的录像方法。
又一方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述方面任一项可能的设计中电子设备执行的录像方法。
又一方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备。该芯片系统包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,使得电子设备执行上述方面任一项可能的设计中的录像方法。
上述其他方面对应的有益效果,可以参见关于方法方面的有益效果的描述,此处不予赘述。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种录像方法流程图;
图3为本申请实施例提供的一组界面示意图;
图4A为本申请实施例提供的一种平移向量的过滤示意图;
图4B为本申请实施例提供的一种计算平移补偿量的流程图;
图5为本申请实施例提供的一种约束条件的效果示意图;
图6为本申请实施例提供的一种原始图像与预览图像的时序关系示意图;
图7A为本申请实施例提供的一组预览界面示意图;
图7B为本申请实施例提供的另一组预览界面示意图;
图7C为本申请实施例提供的另一组预览界面示意图;
图8A为本申请实施例提供的一组视频图像示意图;
图8B为本申请实施例提供的另一组视频图像示意图;
图8C为本申请实施例提供的另一组视频图像示意图;
图9为本申请实施例提供的一种提示界面示意图;
图10为本申请实施例提供的另一种录像方法流程图;
图11为本申请实施例提供的另一种录像方法流程图;
图12为本申请实施例提供的另一种界面示意图;
图13为本申请实施例提供的另一种录像方法流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在使用电子设备录制视频时,由于用户手抖或电子设备晃动等原因,容易导致电子设备和相机模组(以下简称为相机)出现运动从而导致图像出现抖动和模糊。其中,该运动可以包括平移运动和旋转运动。尤其地,当被拍摄物体离摄像头较近或者采用长焦摄像头进行拍摄时,电子设备和相机的平移运动更为明显,平移运动对图像抖动的影响较大。
在一种技术方案中,电子设备根据陀螺仪数据进行图像防抖处理,这样可以去除图像帧之间由于相机的旋转运动而导致的图像抖动,但难以去除图像帧之间由于平移运动导致的图像抖动,因而防抖效果不佳,用户拍摄体验较差。
本申请实施例提供了一种录像方法及设备,可以应用于电子设备,能够在视频录制场景下结合根据陀螺仪等姿态传感器数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,减小由于用户手抖或电子设备晃动等原因导致的图像抖动,提高视频图像的稳像效果,提高用户拍摄体验。
在本申请的实施例中,电子设备根据图像内容获得的相机的目标平移信息,用于表示用户手抖或电子设备晃动等原因导致的相机的平移情况,可以用于表征相邻原始图像之间的全局平移趋势;不用于表示相邻原始图像上被拍摄运动物体的局部相对平移情况。
本申请实施例提供的录像方法可以用于后置视频录制场景,也可以用于前置视频录制场景,不予限定。在启动拍摄功能后,电子设备可以结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理。
例如,该电子设备可以是手机、平板电脑、可穿戴设备(例如智能手表)、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)等移动终端,也可以是专业的相机等设备,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图1示出了电子设备100的一种结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或R个显示屏194,R为大于1的正整数。在本申请的实施例中,显示屏194可以用于在视频录制模式下显示预览界面和拍摄界面等。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或L个摄像头193,L为大于1的正整数。
其中,摄像头193可以包括不同焦段的摄像头,例如等效焦距从小到大变化的超广角摄像头、广角摄像头和长焦摄像头等。其中,等效焦距较小的摄像头,视野范围较大,可用于拍摄风景等较大的画面。等效焦距较大的摄像头,视野范围较小,可用于拍摄远处的物体,可拍摄到的区域较小。
此外,摄像头193还可以包括用于测量待拍摄对象的物距的深度摄像,以及其他摄像头。例如,深度摄像头可以包括三维(3dimensions,3D)深感摄像头、飞行时间(time offlight,TOF)深度摄像头或双目深度摄像头等。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解,模式识别,机器自学习等。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
在本申请的实施例中,处理器110通过运行存储在内部存储器121的指令,在视频录制场景下根据图像信息获得的平移向量以及运动传感器获取的平移向量获得相机的目标平移信息,并结合相机的旋转信息以及相机的目标平移信息进行防抖处理,提高视频图像的稳像效果,提高用户拍摄体验。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度,即可以获得电子设备100的旋转信息,也就是获得相机的旋转信息。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。其中,由于相机(模组)是固定在电子设备100上的,因而电子设备100的旋转信息也可以理解为相机的旋转信息。且,相机(模组)包括摄像头193,因而相机的旋转信息也可以理解为摄像头193的旋转信息。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。在本申请的实施例中,加速度传感器180E可以用于获取电子设备100的平移向量也即相机的平移向量,从而用户计算相机的目标平移信息。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
在本申请的实施例中,在视频录制场景下,摄像头193可以用于采集图像;显示屏194可以用于显示预览界面和拍摄界面等;加速度传感器180E(也称加速度计)等运动传感器可以用于获取相机的平移向量;陀螺仪传感器180B(也称陀螺仪)等姿态传感器可以用于获得相机的旋转信息;处理器110通过运行存储在内部存储器121的指令,可以实现在视频录制场景下根据图像信息获得的平移向量以及运动传感器获取的平移向量获得相机的目标平移信息,并结合相机的旋转信息以及相机的目标平移信息进行防抖处理,提高视频图像的稳像效果,提高用户拍摄体验。
可以理解的是,姿态传感器用于检测电子设备100的姿态,可以获得电子设备100的旋转信息。例如,姿态传感器可以是陀螺仪或三轴电子罗盘等传感器,本申请实施例对姿态传感器的类型不予限定。
在本申请实施例描述的防抖处理过程中,手机可以结合相机的目标平移信息和相机的旋转信息进行图像防抖处理,以提高预览图像的稳像效果,因而所采用的防抖模式可以称为平移防抖模式。
在本申请实施例描述的防抖处理过程中,手机可以结合两轴目标平移信息和三轴旋转信息进行图像防抖处理,以提高视频图像的稳像效果,因而所采用的防抖模式也可以称为五轴防抖模式。
以下将以电子设备为具有图1所示结构的手机,姿态传感器为陀螺仪为例,对本申请实施例提供的录像方法进行阐述。如图2所示,该录像方法可以包括:
200、手机启动拍摄功能后进入录像模式,在预览状态下根据预设帧率采集原始图像。
用户想要使用手机拍摄图像时,可以启动手机的拍摄功能。例如,手机可以启动相机应用,或者启动具有拍照或录像功能的其他应用(比如抖音或河图cyberverse等AR应用),从而启动手机的拍摄功能。
在一些实施例中,本申请实施例提供的录像方法可以应用于录像模式,手机启动拍摄功能后可以进入录像模式,以便在录像模式下结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理。
示例性的,手机检测到用户点击图3中的(a)所示的相机图标301的操作后,启动相机应用的拍摄功能,并显示如图3中的(b)所示的拍照模式下的预览界面。手机检测到用户点击图3中的(b)所示的控件302的操作后,如图3中的(c)所示进入录像模式。
再示例性的,手机显示桌面或非相机应用的界面,检测到用户指示录像的语音指令后,启动拍摄功能并进入录像模式,并如图3中的(c)所示进入录像模式。
需要说明的是,手机还可以响应于用户的其他触摸操作、语音指令或快捷手势等操作进入录像模式,本申请实施例对触发手机进入录像模式的操作不作限定。
在另一些实施例中,在录像模式下,手机并不自动结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理;手机检测到用户的预设操作1后,才启动结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理。该预设操作1用于指示手机结合目标平移信息进行防抖处理。示例性的,在录像模式下,预览界面上包括五轴防抖控件,手机检测到用户点击五轴防抖控件的操作后,结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理。
手机进入录像模式后,在预览状态下根据预设帧率采集原始图像。
在另一些实施例中,本申请实施例提供的录像方法应用于录像模式以外的特定的目标拍摄模式,手机启动拍摄功能后可以进入该目标拍摄模式,以便在目标拍摄模式下结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理。
以下实施例中,以手机在录像模式下开启五轴防抖模式,从而结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理为例进行说明。
在预览状态下,手机开启五轴防抖模式后,可以根据相邻原始图像的图像内容获取目标平移信息,从而结合该目标平移信息和根据陀螺仪数据获得的相机的旋转信息进行防抖处理。在一些实施例中,手机根据相邻原始图像的图像内容获取目标平移信息的过程可以包括以下步骤201-206。其中,相机的目标平移信息可以为相机的目标平移曲线,手机可以根据多帧原始图像中相邻两帧原始图像的图像信息,获得相邻两帧原始图像对应的目标平移向量。连续多帧原始图像之间的目标平移向量相连形成了相机的原始平移曲线。手机可以根据相机的原始平移曲线获得相机的目标平移曲线。
201、在预览状态下,手机开启五轴防抖模式后根据相邻两帧原始图像上的特征点计算第一平移向量。
在一些实施例中,手机在录像模式的预览状态下默认开启五轴防抖模式;在另一些实施例中,手机检测到用户开启五轴防抖模式的操作后,再开启五轴防抖模式。例如,预览界面上包括五轴防抖控件,手机检测到用户点击该控件的操作后开启五轴防抖模式。
在本申请的一些实施例中,手机在开启/退出五轴防抖模式后,可以通过显示信息、语音播报或振动等方式提示用户。
手机开启五轴防抖模式后,根据相邻两帧原始图像上的特征点计算第一平移向量。其中,相邻两帧原始图像对应的第一平移向量包括多个向量,每个第一平移向量对应相邻两帧原始图像上的一个或多个特征点对,第一平移向量用于表示相互匹配的特征点对在相邻两帧原始图像之间的平移方向和平移距离等平移情况。
例如,手机可以对预览状态下采集到的第2帧原始图像与第1帧原始图像的非边缘区域进行特征点检测。而后,手机根据检测到的特征点进行帧间特征点匹配,确定第2帧原始图像与第1帧原始图像上匹配的特征点对。手机根据匹配的特征点对计算第一平移向量。也就是说,手机根据相邻两帧原始图像的图像信息获得了第一平移向量。再例如,手机可以对预览状态下第3帧原始图像与第2帧原始图像进行特征点匹配,从而获得对应的第一平移向量。
其中,由于原始图像是通过相机拍摄获得的,相机的平移可以导致相邻两帧原始图像之间的平移,因而相邻两帧原始图像之间的平移情况可以用来表示相机和手机的平移情况。该第一平移向量可以称为原始图像的原始平移向量,或相机的原始平移向量。
其中,平移向量也可以称为平移矢量或运动矢量,形式为一个向量。一个D维(即多维)向量可以表示D维空间中的一个点,因而第一平移向量可以为D维空间内的多个点。示例性的,第一平移向量可以对应D维空间内如图4A所示的所有点。
而后,手机可以对原始平移向量进行过滤等处理,获得相邻两帧原始图像之间的目标平移向量,进而获得相机的目标平移信息。该目标平移信息用于准确地表示相机的平移情况,例如可以为后文的相机的目标平移曲线。
202、手机根据相邻两帧原始图像对应的运动传感器数据计算第二平移向量。
其中,该运动传感器可以用于监测手机的平移运动情况,从而根据平移运动情况计算第二平移向量。例如,该运动传感器可以是加速度计,手机可以根据相邻两帧原始图像对应的加速度计的数据(即相邻两帧原始图像的采集时段内对应的加速度计的数据)计算第二平移向量。该第二平移向量用于表示手机的平移情况,也就是相机和相邻两帧原始图像之间的平移情况。示例性的,手机根据预览状态下采集到的第1至2帧原始图像的采集时段内对应的加速度计的数据计算对应的第二平移向量。
203、手机从第一平移向量中选取第三平移向量,该第三平移向量位于第二平移向量的δ邻域内。
其中,第三平移向量包括一个或多个矢量。手机可以选取第一平移向量中,在第二平移向量的第一邻域内的第三平移向量。
由于根据特征点确定的相邻两帧原始图像之间的平移情况,应与根据加速度计等运动传感器确定的手机的平移情况保持一致,因而手机可以选取位于第二平移向量δ邻域内的第一平移向量,即第三平移向量。也就是说,第三平移向量与第二平移向量之间的距离小于或者等于δ。
这样,手机对第一平移向量进行过滤得到的第三平移向量,与第二平移向量之间的距离较小,可以滤除大部分错误匹配的特征点对所对应的第一平移向量,滤除被拍摄的运动物体本身的局部运动所对应的第一平移向量,使得选取的第三平移向量能够更为准确地表示由于用户手抖或手机晃动等原因导致的相机的整体平移情况。
也就是说,手机结合加速度计等运动传感器数据以及图像信息来确定相机的平移信息,可以提高平移信息的准确性及鲁棒性。
示例性的,第三平移向量对应的D维空间内的点可以为图4A中滤除圆圈401中的点之后剩余的点。
而后,手机可以对第三平移向量进行过滤等处理,获得相邻两帧原始图像之间的目标平移向量,进而获得相机的目标平移信息。
204、手机从第三平移向量中选取相似度大于或者等于预设值1的第四平移向量。
其中,第四平移向量包括一个或多个矢量。当相机向目标方向平移时,相邻两帧原始图像上相同内容的像素点也向目标方向平移,相邻两帧原始图像上大多数的特征点对也向目标方向平移。因而,手机可以从第三平移向量中选取相似度大于或者等于预设值1的第四平移向量,该第四平移向量为基本上向目标方向平移的特征点对所对应的平移向量,能够更为准确地表示相机的平移情况。这样,手机对第三平移向量进行过滤获得的第四平移向量,可以滤除与目标方向平移类似的被拍摄的运动物体的局部运动对应的平移向量以及离群点。
例如,手机可以采用DBSCAN等聚类算法,从第三平移向量中筛选出互相最相似的第四平移向量,以准确表示相机的平移情况。
再例如,手机可以使用Kmeans,RANSAC等其他机器学习方法,从第三平移向量中剔除离群的平移矢量或选取置信度最高的平移矢量,从而获得第四平移向量,以准确表示相机的平移情况。
示例性的,第四平移向量对应的D维空间内的点可以为再次滤除圆圈402中的点,以及圆圈403中位于圆圈404以外的点之后,所保留的圆圈404中的点。
205、手机根据第四平移向量对应的特征点确定目标平移向量。
手机根据相邻两帧原始图像上,第四平移向量对应的前一帧原始图像上的特征点的坐标计算均值坐标1,根据第四平移向量对应的后一帧原始图像上的特征点的坐标计算均值坐标2,均值坐标1到均值坐标2形成的一个向量即为目标平移向量。该目标平移向量用于表示相邻两帧原始图像之间的平移情况。
206、手机根据连续M帧原始图像的目标平移向量,确定相机的目标平移信息。
其中,相机的目标平移信息用于表示相机的平移情况。相机的目标平移信息用于后续计算原始图像的稳像变换矩阵,稳像变换矩阵用于通过变形(warp)变换对原始图像进行运动补偿,从而达到图像防抖和稳像的效果。
例如,相机的目标平移信息可以为相机的目标平移曲线。连续M帧原始图像之间的目标平移向量相连形成了相机的原始平移曲线,相机的原始平移曲线也可以称为相机的原始平移轨迹或相机的原始平移路径等。手机可以对相机的原始平移曲线进行平滑处理从而获得相机的目标平移曲线。相机的目标平移曲线也称相机的目标平移轨迹或路径等,可以准确地表示相机的平移情况。
比如,手机可以通过卡尔曼(Kalman)等算法对相机的原始平移曲线进行最优估计,从而获得能够准确表示连续多帧原始图像之间的平移情况的相机的目标平移曲线。
手机通过以上聚类和卡尔曼等算法对平移向量进行处理,可以得到更为准确、鲁棒的目标平移信息。
手机在首次根据M帧原始图像之间的目标平移向量形成相机的目标平移曲线后,手机后续每采集到一帧原始图像都可以结合最近采集到的M帧原始图像,继续获取相机的目标平移曲线上后续的点。
207、手机根据相机的目标平移信息计算原始图像的平移补偿量。
其中,平移补偿量用于在变形(warp)变换时对原始图像进行平移运动补偿,以尽量避免原始图像由于相机的平移运动而发生抖动或模糊等,实现图像防抖和稳像效果。手机可以根据相机的目标平移曲线等相机的目标平移信息确定原始图像的平移补偿量。
在本申请的实施例中,当相机的目标平移信息为相机的目标平移曲线时,上述步骤201-207描述的获取平移补偿量的一种方法流程图可以参见图4B。该流程包括:手机对相邻两帧原始图像进行非边缘区域特征点检测,而后进行帧间特征点匹配,根据匹配的特征点对计算平移向量,根据加速度计信息对平移向量进行过滤,采用DBSAN算法对平移向量进一步过滤,根据过滤后的平移向量获得目标平移向量,根据连续多帧原始图像的目标平移向量获得相机的原始平移曲线,采用卡尔曼算法对相机的原始平移曲线进行平滑处理,从而获得相机的目标平移曲线,根据相机的目标平移曲线计算原始图像的平移补偿量。
208、手机根据N帧原始图像对应的陀螺仪数据获得相机的旋转信息。
其中,相机的旋转信息用于表示相机的旋转情况。例如,相机的旋转信息可以为相机的目标旋转曲线。相机的旋转信息和相机的目标平移信息可以用于计算原始图像的稳像变换矩阵,稳像变换矩阵用于通过变形(warp)变换对原始图像进行运动补偿,从而达到图像防抖和稳像的效果。
以下以手机根据N帧原始图像对应的陀螺仪数据获得相机的目标旋转曲线为例进行说明。
例如,手机在满足第一条件后根据N帧原始图像对应的陀螺仪数据获得相机的原始旋转曲线。手机根据约束条件对相机的原始旋转曲线进行处理,从而获得相机的目标旋转曲线。
该相机的目标旋转曲线满足如下第一条件:
(1)相机的目标旋转曲线处处连续。也就是说,相机的运动轨迹较为平滑,轨迹变化不能过于剧烈。
(2)相机的目标旋转曲线一阶、二阶、三阶可导,且曲率尽可能小(例如小于或者等于预设阈值)。也就是说,相机的目标旋转曲线的速度、加速度和加速度的变化率(即急动度)的变化较为平滑,不能过于剧烈。
(3)根据相机的目标旋转曲线获得的稳像变换矩阵对原始图像进行运动补偿时,不能导致补偿后的原始图像超出裁剪(crop后)的边界从而产生黑边。
手机可以采用多种方法来对相机的原始旋转曲线进行平滑处理,来获得相机的目标旋转曲线。例如,手机可以通过二次规划的方法来获得平滑的相机的目标旋转曲线。
其中,相机的原始旋转曲线上的点即相机的原始位姿,可以使用式1表示的3组等时间间隔的旋转角序列来表示:
其中,(X,Y,Z)分别代表从陀螺仪积分出的三个方向的旋转角。手机可以通过二次规划的方法,根据式2表示的目标函数以及式3表示的约束条件,确定一条满足上述第一条件的平滑的相机的目标旋转曲线。
minw1J1+w2J2+w3J3 式2
其中,式2中的Ji代表相机的目标旋转曲线的第i阶导数,如式3所示,约束条件可以包括:
在满足第一条件后,手机采用本申请实施例提供的算法,首次根据采集到的N帧原始图像对应的相机的原始位姿进行处理,获得I帧原始图像对应的优化后的相机的目标位姿,I为正整数,以使得I帧原始图像对应的相机的目标位姿过渡较为平滑。其中,优化后的相机的目标位姿形成了相机的目标旋转曲线,优化后的相机的目标位姿为相机的目标旋转曲线上的点。而后,手机采集到后续I帧原始图像后,根据最近采集到的历史N帧原始图像对应的相机的原始位姿进行处理,获得I帧原始I帧原始图像对应的优化后的相机的目标位姿。
其中,N=N1+I+N2,N1和I为正整数,N2为非负整数。本申请实施例采用的算法根据N帧原始图像对应的相机的原始位姿,输出的是N1帧原始图像之后的I帧原始图像对应的优化后的相机的目标位姿。例如,N为45,N1为15,N2为27,I为3,算法第一次对第1-45帧原始图像对应的相机的原始位姿进行处理,输出第16、17、18这3帧原始图像对应的优化后的相机的目标位姿。也就是说,手机根据I帧原始图像以及之前的N1帧原始图像和之后的N2帧原始图像对应的相机的原始位姿,得到该I帧原始图像对应的优化后的相机的目标位姿。
式6中的子约束条件(1)用于将优化后的部分原始图像对应的相机的目标位姿作为输入,来优化相邻的后续几帧原始图像对应的相机的目标位姿,以使得优化后的相机的目标位姿的整体过渡较为平滑,而不只是I帧原始图像对应的相机的目标位姿之间局部过渡平滑。例如,N为45,N1为15,N2为27,I为3,算法第二次对第4-48帧原始图像对应的优化后的相机的目标位姿进行处理,输出第19、20、21帧原始图像对应的优化后的相机的目标位姿。为了保证优化后的第18和19帧原始图像对应的优化后的相机的目标位姿不出现跳变,过渡较为平滑,手机基于子约束条件(1)可以把第二次优化时使用的第17和18帧原始图像对应的相机的原始位置,替换为第一次优化后的第17和18帧原始图像对应的优化后的相机的目标位姿。
式6中的子约束条件(2)表示原始图像基于相机的目标旋转曲线经过warp变换后不能超出预设的裁剪边界。示例性的,参见图5,方框501表示原始图像的范围,方框502表示防抖处理时的裁剪保留范围,预设的裁剪边界可以为图5所示的Pw和Ph所限定的边界。例如,在图5中,Pi表示原始图像上warp变换前的像素点,Pi’表示根据相机的旋转信息进行warp变换后的像素点。原始图像边缘的四个角点即方框501的四个顶点,经过warp变换后不能超出Pw和Ph所限定的边界,即不能位于Pw和Ph所限定的边界之外的方框502表示的裁剪保留范围内,以使得裁剪获得的图像不会留有黑边。再例如,原始图像上的某个像素点Pc经过warp变换后的Pc’不能超出边界Pw和Ph,即不能超出方框503表示的裁剪保留范围,以使得裁剪获得的图像不会留有黑边。
手机首次根据N帧原始图像获得相机的目标旋转曲线后,后续每采集到I帧原始图像都可以结合最近采集到的N帧原始图像获取相机的目标旋转曲线上后续的I个点。
209、手机根据相机的旋转信息计算原始图像的旋转补偿量。
其中,旋转补偿量用于在warp变换时对原始图像进行旋转运动补偿,以尽量避免原始图像由于相机的旋转运动而发生抖动或模糊等,实现图像防抖和稳像效果。手机可以根据相机的旋转信息计算旋转补偿量。例如,手机可以根据相机的目标旋转曲线计算旋转补偿量。
手机摄像头的卷帘快门是通过逐行曝光的,相应的,旋转补偿量包括每个曝光行分别对应的补偿量。不同曝光行对应的旋转补偿量可能相同不同。
例如,相机的旋转信息为相机的目标旋转曲线,手机可以根据相机的目标旋转曲线上I帧原始图像对应的相机的目标位姿分别计算I帧原始图像分别对应的旋转补偿量。举例来说,N为45,N1为15,N2为27,I为3,手机对预览状态下第1-45帧原始图像对应的相机的原始位姿进行处理,输出第16、17、18帧原始图像对应的优化后的相机的目标位姿后,根据第16、17、18帧原始图像对应的优化后的相机的目标位姿计算第16、17、18帧原始图像对应的旋转补偿量。而后,手机对第4-48帧原始图像对应的相机的原始位姿(其中第17和18帧原始图像对应的原始位姿替换为优化后的相机的目标位姿)进行处理,输出第19、20、21帧原始图像对应的优化后的相机的目标位姿后,根据第19、20、21帧原始图像对应的优化后的相机的目标位姿计算第19、20、21帧原始图像对应的旋转补偿量。
210、手机根据平移补偿量和旋转补偿量,计算原始图像的稳像变换矩阵。
其中,该稳像变换矩阵为原始图像的warp变换对应的单应性矩阵。手机可以将每行对应的旋转补偿量与平移补偿量相加后,获得稳像变换矩阵。其中,每个曝光行对应的平移补偿量相等。可以理解的是,该稳像变换矩阵可能不只包括旋转补偿量与平移补偿量,还可以包括RS补偿量等其他运动补偿量。
手机可以根据I帧原始图像分别对应的旋转补偿量和平移补偿量,计算I帧原始图像的稳像变换矩阵。例如,N为45,N1为15,N2为27,I为3,手机获得第16、17、18帧原始图像对应的旋转补偿量后,可以将第16帧原始图像对应的旋转补偿量和平移补偿量相加,以获得第16帧原始图像对应的稳像变换矩阵。手机可以将第17帧原始图像对应的旋转补偿量和平移补偿量相加,以获得第17帧原始图像对应的稳像变换矩阵。
211、手机根据稳像变换矩阵对原始图像进行变换得到预览图像,并在预览界面上显示预览图像。
手机可以根据I帧原始图像中每帧原始图像分别对应的稳像变换矩阵,对相应的原始图像进行warp变换从而得到预览图像,并将预览图像显示在预览界面上。例如,N为45,N1为15,N2为27,I为3,手机根据第16、17、18帧原始图像中每帧原始图像分别对应的稳像变换矩阵,对第16、17、18帧原始图像进行warp变换从而得到第1、2、3帧预览图像,并在预览界面上依次显示第1、2、3帧预览图像。手机根据第19、20、21帧原始图像中每帧原始图像分别对应的稳像变换矩阵,对第19、20、21帧原始图像进行warp变换从而得到第4、5、6帧预览图像,并在预览界面上依次显示第4、5、6帧预览图像。
其中,手机显示的预览图像帧的序号与原始图像帧的序号之间的差值为N1。也就是说,手机在预览界面上并不显示1至N1帧原始图像进行warp变换后的预览图像,而从第N1+1帧原始图像进行warp变换后的预览图像开始显示。
可以理解的是,手机在预览状态下对原始图像的采集帧率较大,且手机从其他模式到录像模式的切换需要一定的时间,手机在切换为录像模式后不显示1至N1帧原始图像进行warp变换后的预览图像,不会使得用户产生卡顿或黑屏等较差的视觉体验。
并且,手机根据N1+I+N2帧原始图像对应的相机的初始位姿才能得到第N1+1帧原始图像对应的相机的目标位姿,从而才能根据第N1+1帧原始图像对应的相机的目标位姿得到第N1+1帧原始图像对应的稳像变换矩阵,进而得到第N1+1帧原始图像进行warp变换后对应的第1帧预览图像。也就是说,I帧原始图像的起始帧与该N帧原始图像中的第N+1帧原始图像对应,手机显示的预览图像与手机采集到的原始图像相比延迟了至少N2帧。示例性的,当N为45,N1为15,N2为27时,手机在预览状态下采集的原始图像帧和显示的预览图像的时序对应关系可以参见图6。
在本申请的其他一些实施例中,在刚进入预览状态后,手机采集首个N帧原始图像的过程中,将前N1帧原始图像中的每帧原始图像作为预览图像显示在预览界面上。后续,手机采集到新的原始图像后,采用上述实施例描述的方法根据N帧原始图像生成I帧原始图像对应的预览图像,并将生成的预览图像显示在预览界面上。
在本申请的其他一些实施例中,在预览状态下,手机在预览界面上显示的预览图像的帧序号与原始图像的帧序号相对应,即N2为0,且I为1。也就是说,手机采集到一帧原始图像后,即显示该帧原始图像对应的预览图像。并且,N1可以较小,例如可以为5、8或10等。在预览状态下,在手机采集到N1帧原始图像之前,手机结合在预览状态下已采集的原始图像,生成当前原始图像对应的预览图像并显示。
比如,在刚进入预览状态后,手机采集到第1帧原始图像后即将该第1帧原始图像作为第1帧预览图像显示在预览界面上。手机采集到第2帧原始图像后,根据第1至2帧原始图像生成第2帧原始图像对应的第2帧预览图像,并在预览界面上显示该第2帧预览图像。手机采集到第3帧原始图像后,根据第1至3帧原始图像生成第3帧原始图像对应的第3帧预览图像,并在预览界面上显示该第3帧预览图像。手机采集到第N1+1帧原始图像后,根据第1至N1+1帧原始图像生成第N1+1帧预览图像,并在预览界面上显示该第N1+1帧预览图像。后续,手机采集到新的原始图像后,结合该新的原始图像之前的N1帧原始图像和该新的原始图像,生成该新的原始图像对应的预览图像,并将生成的预览图像显示在预览界面上。
在预览图像根据平滑的相机的目标旋转曲线上的目标位姿计算的稳像矩阵进行图像变换获得的情况下,由于上述平滑的相机的目标旋转曲线满足子约束条件(1),因而基于相机的目标旋转曲线获得的warp变换后的预览图像之间整体过渡平滑。上述平滑的相机的目标旋转曲线满足子约束条件(2),因而基于相机的目标旋转曲线获得的warp变换后的预览图像不会超出裁剪边界。
示例性的,在预览状态下,手机未进行防抖处理的预览图像的效果示意图可以参见图7A中的(a)-(c)。如图7A所示,在预览过程中,被拍摄物体发生了平移和旋转,原始图像发生了抖动。手机根据相机的旋转信息进行防抖处理的预览图像的效果示意图可以参见图7B中的(a)-(c)。手机开启五轴防抖模式后进行防抖处理的预览图像的效果示意图可以参见图7C中的(a)-(c)。
212、若手机确定满足第二条件,则退出五轴防抖模式,根据N帧原始图像对应的陀螺仪数据获得相机的旋转信息。
若满足第二条件,则可以表明根据图像信息确定的目标平移信息不准,不能或不需要结合目标平移信息对图像进行防抖处理,因而手机可以只根据旋转信息确定稳像变换矩阵,以对图像进行防抖处理。也就是说,在手机进入五轴防抖模式后,若手机确定满足第二条件,则退出五轴防抖模式,根据旋转信息进行图像防抖处理。
在一些实施例中,在录像模式下,手机可以默认进入五轴防抖模式,并在确定满足第二条件后退出五轴防抖模式。
例如,该第二条件可以包括以下子条件1-5中的任意一种:
子条件1:手机检测到的特征点的数量小于或者等于预设值2。若满足子条件1,则可以表明手机检测到的原始图像上特征点的数量太少,则根据特征点确定的第一平移向量不准确,由此确定的目标平移信息也不准确,结合目标平移信息进行防抖处理的效果可能较差,因而可以退出五轴防抖模式。
子条件2:采用加速度计等运动传感器对应的第二平移向量对第一平移向量过滤后获得的第三平移向量,占第一平移向量的比例小于或者等于预设值3。若满足子条件2,则可以表明根据特征点获得的第一平移向量与第二平移向量偏离较大,特征点可能不准确,由此确定的目标平移信息可能也不准确,因而可以退出五轴防抖模式。
子条件3:手机从第三平移向量中选取相似度大于或者等于预设值1的第四平移向量,占第三平移向量的比例小于或者等于预设值4。若满足子条件3,则可以表明相邻两帧原始图像之间存在较大的局部运动,结合目标平移信息进行防抖处理的效果可能较差,因而可以退出五轴防抖模式。
子条件4:连续P(大于1的整数)帧原始图像之间的平移补偿量的方差大于或者等于预设值5。若满足子条件4,则可以表明特征点之间存在误匹配,根据特征点对应的第一平移向量确定的目标平移信息不准确,结合目标平移信息进行防抖处理的效果可能较差,因而可以退出五轴防抖模式。
子条件5:连续Q(大于1的整数)帧原始图像之间的平移幅度大于或者等于预设值6。若满足子条件5,则可以表明连续多帧之间的平移幅度过大,原始图像可能已经模糊或出现虚影,原始图像上匹配的特征点对可能不准确或难以匹配,根据特征点难以确定目标平移信息或确定的目标平移信息不准确,因而可以退出五轴防抖模式。例如,当相机的初始平移曲线上,连续Q帧原始图像对应的平移路径的长度大于或者等于预设值7时,手机确定平移幅度大于或者等于预设值6,满足子条件5。
其中,关于步骤212中手机根据N帧原始图像对应的陀螺仪数据获相机的旋转信息的相关说明,可以参见上述步骤208中的相关描述,这里不再赘述。例如,相机的旋转信息可以为相机的目标旋转曲线。
213、手机根据相机的旋转信息计算原始图像的旋转补偿量。
其中,关于步骤213的说明可以参见上述步骤209中的相关描述,这里不再赘述。
214、手机根据旋转补偿量计算原始图像的稳像变换矩阵。
手机获得旋转补偿量后,可以将旋转补偿量加入稳像变换矩阵。可以理解的是,该稳像变换矩阵可能不只包括旋转补偿量与平移补偿量,还可以包括RS补偿量等其他运动补偿量。
其中,由于手机根据相机的目标旋转曲线获得的旋转补偿量和根据相机的目标平移曲线获得的平移补偿量计算原始图像的旋转补偿量,因而在一些实施例中,相机的目标平移曲线上的点应包括相机的目标旋转曲线上的点,即M大于或者等于N。
215、手机根据稳像变换矩阵对原始图像进行变换得到预览图像,并在预览界面上显示预览图像。
216、若手机确定停止满足第二条件,则开启五轴防抖模式,执行上述步骤203-211。
也就是说,在手机退出五轴防抖模式后,若手机确定第二条件消失,即不再满足第二条件,则重新进入五轴防抖模式,从而结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高视频图像的稳像效果。
这样,在预览状态下,手机可以结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高预览状态下为用户呈现的预览图像的稳像效果;并在满足第二条件时退出五轴防抖模式,从而根据旋转信息进行图像防抖处理。
而后,手机检测到用户的拍摄操作后进入拍摄过程。该方法还可以包括步骤217:
217、手机检测到用户的拍摄操作后,在拍摄过程中根据预设帧率采集原始图像。
例如,手机检测到用户点击如图7C中的(c)所示的拍摄控件700的操作后,确定检测到用户的拍摄操作,从而进入视频拍摄过程。再例如,手机检测到用户语音指示开始拍摄的操作后,确定检测到用户的拍摄操作,从而进入视频拍摄过程。
可以理解的是,用于触发手机进入视频拍摄过程的方式还可以有多种其他方式,本申请实施例不予限定。
需要说明的是,拍摄过程中的图像数据流包括录像中预览流和视频流。其中,录像中预览流用于在录像过程中在拍摄界面上用户呈现录拍图像。与录像中预览流相对的,预览状态下用于为用户呈现预览图像的预览流可以称为录像前预览流。视频流用于生成视频文件中的视频图像。
在一些实施例中,录像中预览流与录像前预览流为同一条数据流。进入拍摄过程后,手机接续预览状态下的状态、防抖模式和处理过程继续处理生成录拍图像。例如,若进入拍摄过程之前,手机处于五轴防抖模式,且手机生成第100帧预览图像;则进入拍摄过程之后,手机仍处于五轴防抖模式,并结合进入拍摄过程之前的原始图像生成第101帧预览图像,该101帧预览图像即为拍摄界面上的第1帧录拍图像。若进入拍摄过程时,手机已退出五轴防抖模式,则进入拍摄过程之后,手机仍处于退出五轴防抖模式的状态。
在另一些实施例中,录像中预览流与录像前预览流不是同一条数据流。进入拍摄过程后,手机停止录像前预览流并启动录像中预览流。类似于预览状态下手机根据录像前预览流中的原始图像,结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理从而生成预览图像并显示;手机在拍摄过程中可以根据录像中预览流中的原始图像,结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理从而生成录拍图像并显示。并且,手机可以根据拍摄过程中采集到的原始图像,重新开启五轴防抖模式。比如,进入拍摄过程之前,手机处于五轴防抖模式,且手机生成第100帧预览图像;进入拍摄过程之后,手机重新开启五轴防抖模式,并根据拍摄过程中采集到的原始图像生成第1帧录拍图像,并显示在录拍界面上。例如,参见图2,在步骤217之后,针对录像中预览流,该方法还可以包括以下步骤218-233:
218、在拍摄过程中,手机在五轴防抖模式下根据相邻两帧原始图像上的特征点计算第一平移向量。
在一些实施例中,若手机在进入拍摄过程之前已开启五轴防抖模式,则手机进入拍摄过程之后继续开启五轴防抖模式。在另一些实施例中,手机拍摄过程中默认开启五轴防抖模式。在其他一些实施例中,手机在拍摄过程中检测到用户开启五轴防抖模式的操作后,开启五轴防抖模式。例如,拍摄界面上包括五轴防抖控件,手机检测到用户点击该控件的操作后开启五轴防抖模式。
219、手机根据相邻两帧原始图像对应的运动传感器数据计算第二平移向量。
220、手机从第一平移向量中选取第三平移向量,该第三平移向量位于第二平移向量的δ邻域内。
221、手机从第三平移向量中选取相似度大于或者等于预设值1的第四平移向量。
222、手机根据第四平移向量对应的特征点确定目标平移向量。
223、手机根据连续M’帧原始图像的目标平移向量,确定相机的目标平移信息。
其中,M’与M可以相同或不同。
224、手机根据相机的目标平移信息计算原始图像的平移补偿量。
225、手机根据N’帧原始图像对应的陀螺仪数据获得相机的旋转信息。
其中,N’与N可以相同或不同,N1’与N1可以相同或不同,I’与I可以相同或不同,N2’与N2可以相同或不同。
226、手机根据相机的旋转信息计算原始图像的旋转补偿量。
227、手机根据平移补偿量和旋转补偿量,计算原始图像的稳像变换矩阵。
228、手机根据稳像变换矩阵对原始图像进行变换得到录拍图像,并在拍摄界面上显示该录拍图像。
229、若手机确定满足第二条件,则退出五轴防抖模式,根据N’帧原始图像对应的陀螺仪数据获得相机的旋转信息。
230、手机根据相机的旋转信息计算原始图像的旋转补偿量。
231、手机根据旋转补偿量计算原始图像的稳像变换矩阵。
232、手机根据稳像变换矩阵对原始图像进行变换得到录拍图像,并在拍摄界面上显示录拍图像。
233、若手机确定停止满足第二条件,则执行上述步骤218-228。
需要说明的是,关于步骤218-233的说明可以参考上述步骤201-216中的相关描述,这里不予赘述。
与预览状态下类似,在拍摄过程中,手机可以根据N1+I+N2帧原始图像对应的相机的初始位姿才能得到第N1+1帧原始图像对应的相机的目标位姿,从而才能根据第N1+1帧原始图像对应的相机的目标位姿得到第N1+1帧原始图像对应的稳像变换矩阵,进而得到第N1+1帧原始图像进行warp变换后对应的第1帧录拍图像。也就是说,I帧原始图像的起始帧与该N帧原始图像中的第N1+1帧原始图像对应,手机显示的录拍图像与手机采集到的原始图像相比延迟了至少N2帧。
在其他一些实施例中,在刚进入拍摄过程后,手机采集首个N帧原始图像的过程中,将前N1帧原始图像中的每帧原始图像作为录拍图像显示在拍摄界面上。后续,手机采集到新的原始图像后,采用上述实施例描述的方法根据N帧原始图像生成I帧原始图像对应的录拍图像,并将生成的录拍图像显示在拍摄界面上。
在其他一些实施例中,在拍摄过程下,手机在拍摄界面上显示的录拍图像的帧序号与原始图像的帧序号相对应,即N2为0,且I为1。也就是说,手机采集到一帧原始图像后,即显示该帧原始图像对应的录拍图像。并且,N1可以较小,例如可以为5、8或10等。在拍摄过程下,在手机采集到N1帧原始图像之前,手机结合在拍摄过程下已采集的原始图像,生成当前原始图像对应的录拍图像并显示。
比如,在刚进入拍摄过程后,手机采集到第1帧原始图像后即将该第1帧原始图像作为第1帧录拍图像显示在拍摄界面上。手机采集到第2帧原始图像后,根据第1至2帧原始图像生成第2帧原始图像对应的第2帧录拍图像,并在拍摄界面上显示该第2帧录拍图像。手机采集到第3帧原始图像后,根据第1至3帧原始图像生成第3帧原始图像对应的第3帧录拍图像,并在拍摄界面上显示该第3帧录拍图像。手机采集到第N1+1帧原始图像后,根据第1至N1+1帧原始图像生成第N1+1帧录拍图像,并在拍摄界面上显示该第N1+1帧录拍图像。后续,手机采集到新的原始图像后,结合该新的原始图像之前的N1帧原始图像和该新的原始图像生成该新的原始图像对应的录拍图像,并将生成的录拍图像显示在拍摄界面上。
在录拍图像根据平滑的相机的目标旋转曲线上的目标位姿计算的稳像矩阵进行图像变换获得的情况下,由于上述平滑的相机的目标旋转曲线满足子约束条件(1),因而基于相机的目标旋转曲线获得的warp变换后的录拍图像之间整体过渡平滑。上述平滑的相机的目标旋转曲线满足子约束条件(2),因而基于相机的目标旋转曲线获得的warp变换后的录拍图像不会超出裁剪边界。
这样,在拍摄过程中,手机可以结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高拍摄过程中为用户呈现的录拍图像的稳像效果,提高后续根据录拍图像生成的视频图像的录拍效果;并在满足第二条件时退出五轴防抖模式,从而根据旋转信息进行图像防抖处理。
在拍摄过程中,视频流与录像中预览流的处理是并行、独立的。对于视频流来说,与拍摄过程之前手机的状态和处理过程无关,手机可以根据拍摄过程中采集到的原始图像判断是否退出或再次进入五轴防抖模式,并在进入五轴防抖模式后结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理从而生成视频图像。比如,进入拍摄过程之后,手机重新启动五轴防抖模式,并在五轴防抖模式下根据拍摄过程中采集到的原始图像生成第1帧视频图像并保存,以便在停止拍摄后根据保存的视频图像生成视频文件。例如,参见图2,在步骤217之后,针对视频流,该方法还可以包括以下步骤218’-233’:
218’、在拍摄过程中,手机在五轴防抖模式下根据相邻两帧原始图像上的特征点计算第一平移向量。
在一些实施例中,若手机在进入拍摄过程之前已开启五轴防抖模式,则手机进入拍摄过程之后继续开启五轴防抖模式。在另一些实施例中,手机拍摄过程中默认开启五轴防抖模式。在其他一些实施例中,手机在拍摄过程中检测到用户开启五轴防抖模式的操作后,开启五轴防抖模式。例如,拍摄界面上包括五轴防抖控件,手机检测到用户点击该控件的操作后开启五轴防抖模式。
219’、手机根据相邻两帧原始图像对应的运动传感器数据计算第二平移向量。
220’、手机从第一平移向量中选取第三平移向量,该第三平移向量位于第二平移向量的δ邻域内。
221’、手机从第三平移向量中选取相似度大于或者等于预设值1的第四平移向量。
222’、手机根据第四平移向量对应的特征点确定目标平移向量。
223’、手机根据连续M”帧原始图像的目标平移向量,确定相机的目标平移信息。
其中,M”与M可以相同或不同。
224’、手机根据相机的目标平移信息计算原始图像的平移补偿量。
225’、手机根据N”帧原始图像对应的陀螺仪数据获得相机的旋转信息。
其中,N’与N可以相同或不同,N1’与N1可以相同或不同,N2’与N2可以相同或不同。
226’、手机根据相机的旋转信息计算原始图像的旋转补偿量。
227’、手机根据平移补偿量和旋转补偿量,计算原始图像的稳像变换矩阵。
228’、手机根据稳像变换矩阵对原始图像进行变换得到录拍图像,并在拍摄界面上显示该录拍图像。
229’、若手机确定满足第二条件,则退出五轴防抖模式,根据N”帧原始图像对应的陀螺仪数据获得相机的旋转信息。
230’、手机根据相机的旋转信息计算原始图像的旋转补偿量。
231’、手机根据旋转补偿量计算原始图像的稳像变换矩阵。
232’、手机根据稳像变换矩阵对原始图像进行变换得到录拍图像,并在拍摄界面上显示录拍图像。
233’、若手机确定停止满足第二条件,则执行上述步骤218’-228’。
需要说明的是,关于步骤218’-233’的说明可以参考上述步骤201-216中的相关描述,这里不予赘述。
与预览图像和录拍图像类似,在拍摄过程中,手机可以根据N1+I+N2帧原始图像对应的相机的初始位姿才能得到第N1+1帧原始图像对应的相机的目标位姿,从而才能根据第N1+1帧原始图像对应的相机的目标位姿得到第N1+1帧原始图像对应的稳像变换矩阵,进而得到第N1+1帧原始图像进行warp变换后对应的第1帧录拍图像。也就是说,I帧原始图像的起始帧与该N帧原始图像中的第N1+1帧原始图像对应,手机显示的录拍图像与手机采集到的原始图像相比延迟了至少N2帧。
其中,由于视频图像并不需要在拍摄过程中为用户实时呈现,因而防抖处理时长和处理延迟可以较长,依据的原始图像帧数可以较多。为了获得质量更好的视频图像,S”可以大于S,M”可以大于M,N”可以大于N,N1”可以大于N1,I’可以大于I,和/或N2”可以大于N2。例如,对于预览流来说,N2或N2’可以为0或较小的整数(例如2或3等),以减小延迟;对于视频流来说,N2”可以为较大的整数(例如27或15等),以提高防抖处理效果。
在其他一些实施例中,在刚进入拍摄过程后,手机采集首个N帧原始图像的过程中,将前N1帧原始图像中的每帧原始图像作为视频图像并保存。后续,手机采集到新的原始图像后,采用上述实施例描述的方法根据N帧原始图像生成I帧原始图像对应的视频图像。
在其他一些实施例中,在拍摄过程下,手机生成的视频图像的帧序号与原始图像的帧序号相对应,即N2为0,且I为1。也就是说,手机采集到一帧原始图像后,即显示该帧原始图像对应的视频图像。并且,N1可以较小,例如可以为5、8或10等。在拍摄过程下,在手机采集到N1帧原始图像之前,手机结合在拍摄过程下已采集的原始图像,生成当前原始图像对应的视频图像并保存。
比如,在刚进入拍摄过程后,手机采集到第1帧原始图像后即将该第1帧原始图像作为第1帧视频图像。手机采集到第2帧原始图像后,根据第1至2帧原始图像生成第2帧原始图像对应的第2帧视频图像。手机采集到第3帧原始图像后,根据第1至3帧原始图像生成第3帧原始图像对应的第3帧视频图像。手机采集到第N1+1帧原始图像后,根据第1至N1+1帧原始图像生成第N1+1帧视频图像。后续,手机采集到新的原始图像后,结合该新的原始图像之前的N1帧原始图像和该新的原始图像,生成该新的原始图像对应的视频图像。
在视频图像根据平滑的相机的目标旋转曲线上的目标位姿计算的稳像矩阵进行图像变换获得的情况下,由于上述平滑的相机的目标旋转曲线满足子约束条件(1),因而基于相机的目标旋转曲线获得的warp变换后的视频图像之间整体过渡平滑。上述平滑的相机的目标旋转曲线满足子约束条件(2),因而基于相机的目标旋转曲线获得的warp变换后的视频图像不会超出裁剪边界。
这样,在拍摄过程中,手机可以结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高拍摄过程中为用户呈现的录拍图像的稳像效果,提高后续根据录拍图像生成的视频图像的录拍效果;并在满足第二条件时退出五轴防抖模式,从而根据旋转信息进行图像防抖处理。
234、手机在拍摄结束后,根据视频图像生成视频文件。
示例性的,手机检测到用户点击拍摄界面上的停止拍摄控件的操作后,确定拍摄结束。可以理解的是,该停止拍摄操作还可以是其他手势操作或用户语音指示操作等,本申请实施例对触发手机结束拍摄过程的操作不予限定。手机在拍摄结束后,根据录拍图像生成视频。
在拍摄过程中采用五轴防抖模式进行防抖处理的情况下,手机在拍摄结束后根据生成的视频文件中的视频图像,是结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理后的图像,因而稳像效果较好,可以提高用户的拍摄体验。
示例性的,手机未进行防抖处理的视频图像的效果示意图可以参见图8A中的(a)-(c)。如图8A所示,在预览过程中,被拍摄物体发生了平移和旋转,原始图像发生了抖动。手机根据相机的旋转信息进行防抖处理的视频图像的效果示意图可以参见图8B中的(a)-(c)。手机开启五轴防抖模式后进行防抖处理的视频图像的效果示意图可以参见图8C中的(a)-(c)。
如前所述,手机在开启/退出五轴防抖模式后,可以通过显示信息、语音播报或振动等方式提示用户。示例性的,参见图9,在拍摄过程中,手机在开启五轴防抖模式后,可以在拍摄界面上通过文字信息提示用户:已开启五轴防抖,可进行平移和旋转防抖!
在上述步骤200-234描述的方案中,手机可以在预览状态和拍摄过程中,结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高为用户呈现的预览图像和录拍图像的稳像效果,提高生成的视频图像的稳像效果,提高用户的拍摄体验。
尤其地,在拍摄近景或采用长焦摄像头进行录像等平移运动对图像抖动影响较大的场景下,采用本申请实施例提供的录像方法结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,图像防抖和稳像效果更好。
在其他一些实施例中,在录像模式下,若手机确定满足第二条件,则手机不根据目标平移信息也不根据旋转信息进行图像防抖处理。
以上是以手机在录像模式的预览状态和拍摄过程中,均启用本申请实施例提供的上述方法,结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理为例进行说明的。在其他一些实施例中,手机在录像模式的预览状态下不采用本申请实施例提供的上述方法对录像前预览流进行防抖处理,而在拍摄过程中才启用本申请实施例提供的上述方法对录像中预览流进行防抖处理。参见图10,上述图2所示的步骤200-216可以替换为步骤200A:
200A、手机启动拍摄功能后进入录像模式,在预览状态下根据预设帧率采集原始图像,根据原始图像生成预览图像,并将预览图像显示在预览界面上。
在该方案中,手机可以在拍摄过程中结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高为用户呈现的录拍图像的稳像效果,提高生成的视频图像的稳像效果,提高用户的拍摄体验。
在其他一些实施例中,手机在录像模式针对录像前预览流和录像中预览流不采用本申请实施例提供的上述方法进行防抖处理,而在拍摄过程中针对视频流才启用本申请实施例提供的上述方法进行防抖处理。参见图11,该方法可以包括上述步骤200A、如下步骤217A以及步骤218’-234。
217A、手机检测到用户的拍摄操作后,在拍摄过程中根据预设帧率采集原始图像,根据原始图像生成录拍图像,并将录拍图像显示在拍摄界面上。
在该方案中,手机可以在拍摄过程中结合根据陀螺仪数据获得的相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,提高为视频图像的稳像效果,提高生成的视频图像的稳像效果,提高用户的拍摄体验。
在本申请的一些实施例中,手机保存的经过五轴防抖处理的视频文件可以区别于其他视频文件而特别标识,以方便用户直观地获知经过五轴防抖处理的视频文件。比如,参见图12中的(a),经过五轴防抖处理生成的视频文件上显示有“wzfd”的文字标识1201。再比如,参见图12中的(b),经过五轴防抖处理的视频文件上显示有“pyfd”的文字标识1202。
在其他一些实施例中,手机也可以不结合相机的旋转信息进行防抖处理,而只根据图像内容获得的相机的目标平移信息进行防抖处理,从而抑制由于用户手抖或手机晃动导致的相机平移而引起的图像抖动。例如,手机可以根据图像内容获得的相机的目标平移信息计算平移补偿量,根据平移补偿量计算稳像变换矩阵,根据稳像变换矩阵对原始图像进行warp变换从而实现平移防抖。
结合上述实施例及相应的附图,本申请另一实施例提供一种拍摄方法,该方法可以在具有图1所示的硬件结构的电子设备中实现,该电子设备包括相机,该相机包括摄像头。如图13所示,该方法可以包括:
1301、电子设备在开启录像功能后采集原始图像。
在开启录像功能后,电子设备可以根据预设的采集帧率连续采集原始图像。
1302、电子设备根据采集到的多帧原始图像的图像信息获得相机的目标平移信息。
其中,相机的目标平移信息可以用于表示相机的平移情况。例如,相机的目标平移信息可以为上述相机的目标平移曲线。
1303、电子设备根据多帧原始图像对应的姿态传感器数据获得相机的旋转信息。
其中,相机的旋转信息用于表示相机的旋转情况。例如,相机的旋转信息可以为相机的目标旋转曲线。
例如,姿态传感器可以为陀螺仪,相机的旋转信息可以为上述相机的目标旋转曲线。
1304、电子设备根据相机的目标平移信息和相机的旋转信息,计算第一原始图像的稳像变换矩阵,第一原始图像为多帧原始图像中的图像。
其中,该稳像变换矩阵用于对第一原始图像进行运动补偿和warp变换。
1305、电子设备根据稳像变换矩阵对第一原始图像进行图像变换获得目标图像。
例如,该目标图像可以是视频录制场景下的预览图像、录拍图像或视频图像。
在该方案中,电子设备能够在视频录制场景下结合相机的旋转信息以及根据图像内容获得的相机的目标平移信息进行防抖处理,减小由于用户手动或电子设备晃动等原因导致的图像抖动,提高视频图像的稳像效果,提高用户拍摄体验。
以上是以电子设备为手机为例进行说明的,不限于手机,对于智能手表或平板电脑等其他电子设备也可以采用上述方法进行防抖处理,这里不再赘述。
可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例还提供一种电子设备,包括一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述相关方法步骤实现上述实施例中的录像方法。
本申请的实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的录像方法。
本申请的实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中电子设备执行的录像方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中电子设备执行的录像方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种录像方法,应用于电子设备,所述电子设备包括相机,其特征在于,所述方法包括:
在开启录像功能后采集原始图像;
根据采集到的多帧原始图像中相邻两帧原始图像上的特征点计算第一平移向量;
根据所述相邻两帧原始图像对应的运动传感器数据计算第二平移向量;
从所述第一平移向量中选取第三平移向量,所述第三平移向量位于所述第二平移向量的δ邻域内;
从所述第三平移向量中选取相似度大于或者等于第一预设值的第四平移向量;
根据所述第四平移向量对应的特征点,获得所述相邻两帧原始图像对应的目标平移向量;其中,连续所述多帧原始图像之间的目标平移向量相连形成了所述相机的原始平移曲线;
根据所述相机的原始平移曲线获得所述相机的目标平移曲线;
根据所述多帧原始图像对应的姿态传感器数据获得相机的旋转信息;
根据所述相机的目标平移曲线和所述相机的旋转信息,计算第一原始图像的稳像变换矩阵,所述第一原始图像为所述多帧原始图像中的图像;
根据所述稳像变换矩阵对所述第一原始图像进行图像变换获得目标图像。
2.根据权利要求1所述的方法,其特征在于,所述在开启录像功能后采集原始图像,包括:
在开启录像功能并检测到用户的拍摄操作后采集原始图像;
所述方法还包括:
检测到用户的停止拍摄操作后,根据视频图像生成视频文件,所述视频图像为所述目标图像。
3.根据权利要求1所述的方法,其特征在于,所述在开启录像功能后采集原始图像,包括:
在开启录像功能并检测到用户的拍摄操作后采集原始图像;
所述方法还包括:
在拍摄界面上显示录拍图像,所述录拍图像为所述目标图像。
4.根据权利要求1所述的方法,其特征在于,所述目标图像为预览图像,所述方法还包括:
在预览界面上显示所述预览图像。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述相机的目标平移曲线和所述相机的旋转信息,计算第一原始图像的稳像变换矩阵,包括:
根据所述相机的目标平移曲线计算所述第一原始图像的平移补偿量;
根据所述相机的旋转信息计算所述第一原始图像的旋转补偿量;
根据所述平移补偿量和所述旋转补偿量,计算所述第一原始图像的稳像变换矩阵。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
若满足预设条件,则根据所述多帧原始图像对应的姿态传感器数据获得相机的旋转信息;
根据所述相机的旋转信息计算第一原始图像的稳像变换矩阵;
根据所述稳像变换矩阵对所述第一原始图像进行图像变换获得目标图像。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若满足预设条件,则提示用户已退出目标防抖模式。
8.根据权利要求7所述的方法,其特征在于,所述预设条件包括以下至少一项:
所述相邻两帧原始图像上的特征点的数量小于或者等于第二预设值;
或者,所述相邻两帧原始图像对应的所述第三平移向量占所述第一平移向量的比例小于或者等于第三预设值;
或者,所述相邻两帧原始图像所述第四平移向量占所述第三平移向量的比例小于或者等于第四预设值;
或者,连续P帧原始图像之间的平移补偿量的方差大于或者等于第五预设值,P为大于1的整数;
或者,连续Q帧原始图像之间的平移幅度大于或者等于第六预设值,Q为大于1的整数。
9.根据权利要求1-4或7-8任一项所述的方法,其特征在于,所述根据所述多帧原始图像对应的姿态传感器数据获得相机的旋转信息,包括:
根据N帧原始图像对应的姿态传感器数据获得所述相机的旋转信息,N为大于1的整数,且N=N1+I+N2,所述N1和所述I为正整数,所述N2为非负整数;
所述根据所述相机的旋转信息计算第一原始图像的稳像变换矩阵,包括:
根据所述相机的旋转信息上所述N帧原始图像对应的相机的目标位姿,计算所述I帧原始图像的稳像变换矩阵,所述I帧原始图像即为所述第一原始图像,所述I帧原始图像的稳像变换矩阵用于获得I帧所述目标图像,所述I帧原始图像的起始帧与所述N帧原始图像中的第N1+1帧原始图像对应。
10.根据权利要求9所述的方法,其特征在于,当所述目标图像为预览图像或录拍图像时,所述N2为0。
11.一种电子设备,其特征在于,包括:
相机,所述相机包括摄像头,所述摄像头用于采集图像;
屏幕,用于显示界面;
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1-10中任一项所述的录像方法。
12.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-10中任一项所述的录像方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011057718.6A CN114339102B (zh) | 2020-09-29 | 2020-09-29 | 一种录像方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011057718.6A CN114339102B (zh) | 2020-09-29 | 2020-09-29 | 一种录像方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114339102A CN114339102A (zh) | 2022-04-12 |
CN114339102B true CN114339102B (zh) | 2023-06-02 |
Family
ID=81010961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011057718.6A Active CN114339102B (zh) | 2020-09-29 | 2020-09-29 | 一种录像方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114339102B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242981B (zh) * | 2022-07-25 | 2024-06-25 | 维沃移动通信有限公司 | 视频播放方法、视频播放装置和电子设备 |
CN115134534B (zh) * | 2022-09-02 | 2022-11-18 | 深圳前海鹏影数字软件运营有限公司 | 基于电商平台的视频上传方法、装置、设备及存储介质 |
CN117135459B (zh) * | 2023-04-07 | 2024-08-16 | 荣耀终端有限公司 | 图像防抖方法与电子设备 |
CN117714867B (zh) * | 2023-05-16 | 2024-10-18 | 荣耀终端有限公司 | 图像防抖方法与电子设备 |
CN117750203A (zh) * | 2024-02-20 | 2024-03-22 | 荣耀终端有限公司 | 电子设备及其视频处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331480A (zh) * | 2016-08-22 | 2017-01-11 | 北京交通大学 | 基于图像拼接的视频稳像方法 |
CN110610465A (zh) * | 2019-08-26 | 2019-12-24 | Oppo广东移动通信有限公司 | 图像校正方法和装置、电子设备、计算机可读存储介质 |
CN111314604A (zh) * | 2020-02-19 | 2020-06-19 | Oppo广东移动通信有限公司 | 视频防抖方法和装置、电子设备、计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7705884B2 (en) * | 2004-07-21 | 2010-04-27 | Zoran Corporation | Processing of video data to compensate for unintended camera motion between acquired image frames |
JP6700872B2 (ja) * | 2016-03-07 | 2020-05-27 | キヤノン株式会社 | 像振れ補正装置及びその制御方法、撮像装置、プログラム、記憶媒体 |
-
2020
- 2020-09-29 CN CN202011057718.6A patent/CN114339102B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331480A (zh) * | 2016-08-22 | 2017-01-11 | 北京交通大学 | 基于图像拼接的视频稳像方法 |
CN110610465A (zh) * | 2019-08-26 | 2019-12-24 | Oppo广东移动通信有限公司 | 图像校正方法和装置、电子设备、计算机可读存储介质 |
CN111314604A (zh) * | 2020-02-19 | 2020-06-19 | Oppo广东移动通信有限公司 | 视频防抖方法和装置、电子设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114339102A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114339102B (zh) | 一种录像方法及设备 | |
CN113747050B (zh) | 一种拍摄方法及设备 | |
US10609273B2 (en) | Image pickup device and method of tracking subject thereof | |
CN113630545B (zh) | 一种拍摄方法及设备 | |
US8400532B2 (en) | Digital image capturing device providing photographing composition and method thereof | |
CN115209057B (zh) | 一种拍摄对焦方法及相关电子设备 | |
CN115701125B (zh) | 图像防抖方法与电子设备 | |
CN113747044B (zh) | 一种全景拍摄方法及设备 | |
CN115061770A (zh) | 显示动态壁纸的方法和电子设备 | |
CN114449151B (zh) | 一种图像处理方法及相关装置 | |
CN115484383B (zh) | 拍摄方法及相关装置 | |
CN115150542B (zh) | 一种视频防抖方法及相关设备 | |
CN114390186B (zh) | 视频拍摄方法及电子设备 | |
CN114390188B (zh) | 一种图像处理方法和电子设备 | |
CN114339101B (zh) | 一种录像方法及设备 | |
CN116012262B (zh) | 一种图像处理方法、模型训练方法及电子设备 | |
CN111385481A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
CN114390191B (zh) | 录像方法、电子设备及存储介质 | |
CN117132515A (zh) | 一种图像处理方法及电子设备 | |
CN116934654B (zh) | 图像模糊度的确定方法及其相关设备 | |
CN117714840B (zh) | 图像处理方法、装置、芯片、电子设备及介质 | |
CN117135459B (zh) | 图像防抖方法与电子设备 | |
CN117998203B (zh) | 一种图像处理方法、电子设备及存储介质 | |
CN118212137A (zh) | 一种视频处理方法、装置、设备和存储介质 | |
CN117135456A (zh) | 图像防抖方法与电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |