防止用户拍照抖动的方法及系统、计算机可读存储介质技术方案

技术编号:30832433 阅读:17 留言:0更新日期:2021-11-18 12:49
本发明专利技术公开了一种防止用户拍照抖动的方法及系统、计算机可读存储介质。其中防止用户拍照抖动的方法,包括:选取拍照时以及拍照前和/或拍照后的至少两帧图像;对所述图像进行分析处理,统计每帧所述图像的焦点数量;选择焦点数量最多的图像作为拍照得到的图像。本发明专利技术采用软件方式对图像进行筛选,找到最清晰的图像作为用户拍照得到的图像,实现成本低。实现成本低。实现成本低。

【技术实现步骤摘要】
防止用户拍照抖动的方法及系统、计算机可读存储介质


[0001]本专利技术涉及图像处理
,尤其涉及一种防止用户拍照抖动的方法及系统。

技术介绍

[0002]智能手机是人们日常的拍照工具,当前用户使用智能手机拍照的过程中,用户从相机预览界面完成自动或者手动对焦,人为确认画面清晰之后完成拍照动作。此过程在用户按下快门的时候从相机的光电感应传感器(sensor)中取出图像数据,经裁剪压缩后得到拍照图片。
[0003]但是现有的这种方式无法规避用户拍照瞬间由于用力太大或者其他抖动原因导致拍照图片模糊、拖影等不清晰的问题。
[0004]为了解决用户拍照时各种抖动因素导致的问题,目前大多手机厂商通过改良摄像头硬件光学结构的方法来规避,譬如改良摄像头的音圈马达的具体结构,但是这种改良方式极大的增加产品的成本开销。

技术实现思路

[0005]为了解决现有技术中硬件防抖成本较高的技术问题,本专利技术提出了防止用户拍照抖动的方法及系统、计算机可读存储介。
[0006]本专利技术提出的防止用户拍照抖动的方法,包括:步骤1,选取拍照时以及拍照前和/或拍照后的至少两帧图像;步骤2,对所述图像进行分析处理,统计每帧所述图像的焦点数量;步骤3,选择焦点数量最多的图像作为拍照得到的图像。
[0007]进一步,开辟与所选取的图像数量一致的暂存空间用来分别存储所选取的图像;和/或开启与所选取的图像数量一致的线程用来对各图像进行并行分析处理。
[0008]进一步,对所述图像进行分析处理具体包括:获取每帧图像的yuv数据;对所述图像的像素进行遍历,计算每一帧图像的每一个像素在x方向和y方向上与周边像素的差异值;通过x方向上的差异值与y方向上的差异值计算斜边值;当所述像素的斜边值超过整体极限差异一定程度的阈值,判定该像素为焦点。
[0009]进一步,根据图像缓存的帧速度选取拍照时、拍照前、拍照后对应时间的三帧图像。
[0010]进一步,当用户选择对应的拍照模式时,执行上述步骤1至步骤3。
[0011]本专利技术提出的防止用户拍照抖动的系统,包括数据分析模块,其选取拍照时以及拍照前和/或拍照后的至少两帧图像,对所述图像进行分析处理,统计每帧所述图像的焦点数量,选择焦点数量最多的图像作为拍照得到的图像。
[0012]进一步,系统还包括数据组织模块,开辟固定长度的缓存空间缓存摄像头所获取
的图像数据流以及图像数据流中每帧图像对应的时间戳,根据所述数据分析模块所选择的图像的帧数,预先开辟相同数量的暂存空间用来分别存储各帧图像。
[0013]进一步,系统还包括:ap控制模块,提供对应的拍照模式供用户选择,且当用户选择了对应的拍照模式之后,向所述数据组织模块发送对应的标示,通知所述数据组织模块分配缓存空间和暂存空间。
[0014]本专利技术提出的计算机可读存储介质,用于存储计算机程序,所述计算机程序运行时执行上述技术方案所述的防止用户拍照抖动的方法。
[0015]本专利技术完全基于软件来实现,基于图像数据流的帧速度来选取至少两帧缓存的图像数据,例如三帧或者三帧以上图像,选取拍照前、中、后三帧缓存数据时,由于这些图像彼此之间的时间间隔均为毫秒级,因此可以捕捉到当前用户想要的画面,再通过图像分析处理的方法从中找到最清晰的一帧图像作为用户拍照所得到的图像,最后处理为对应格式的图片文件显示给用户,有效实现了防抖,且实现成本低。
附图说明
[0016]下面结合实施例和附图对本专利技术进行详细说明,其中:图1是本专利技术的系统框图。
[0017]图2是本专利技术的工作流程图。
[0018]图3是本专利技术选取图像数据的示意图。
[0019]图4是本专利技术确定焦点的流程图。
具体实施方式
[0020]为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0021]由此,本说明书中所指出的一个特征将用于说明本专利技术的一个实施方式的其中一个特征,而不是暗示本专利技术的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
[0022]下面结合附图以及实施例对本专利技术的原理进行详细说明。
[0023]如图1所示,在一个具体实施例中,将本专利技术的防止用户拍照抖动的系统应用在安卓系统当中,包括ap控制模块、数据组织模块、数据分析模块、图像压缩模块以及图像回传模块。
[0024]ap控制模块提供对应的拍照模式供用户选择,且当用户选择了对应的拍照模式之后,向数据组织模块发送对应的标示,通知数据组织模块分配缓存空间和暂存空间。ap控制模块实质上是一个功能交互接口,在系统应用的相机软件里,增加一个执行本专利技术的防止用户拍照抖动的方式的对应拍照模式,例如可以取名为对焦峰值拍照模式,用户可以自由选择使用通常模式还是对焦峰值拍照模式,以及通过ap控制模块下达拍照命令。用户选择
对焦峰值拍照模式后,该ap控制模块模块通过安卓系统的api接口向Camera hal层下发该模式的唯一标示。底层接受到该标示后会启用对焦峰值拍照的处理流程。
[0025]数据组织模块开辟固定长度的缓存空间,来缓存摄像头所获取的图像数据流以及图像数据流中每帧图像对应的时间戳,根据数据分析模块所选择的图像的帧数,预先开辟相同数量的暂存空间用来分别存储各帧图像。具体应用在安卓系统中时,数据组织模块位于摄像头硬件驱动层和系统上层的中间(camera hal层)。Camera hal层从摄像头sensor(也称为Camera Sensor)处接收数据持续流入一个数据缓冲队列,这里所指的摄像头sensor可以理解为摄像头,其实质上是摄像头的光电感应传感器,当摄像头打开时,该传感器就会获取到图像数据。当防止用户抖动的系统存在ap控制模块时,数据组织模块在收到上层的ap控制模块的模式标示后,开始完成数据内存的调整和新内存分配。将内存数据缓冲队列设置为一定数目的缓存空间(buffer)作为原始数据输出的存放空间。如果处理分析模块要选取的图像为三帧时,数据组织模块另外申请三块暂存空间(buffer)作为数据分析的存放空间。数据组织模块在收到上层的ap控制模块的拍照命令后,从数据缓冲队列取出对应拍照时间戳的数据,同时依据当前环境下数据帧率(fps)决策取出拍照前和拍照后数据,将所得的图像数据分别内存拷贝到预先申请到的三块buffer空间备用。
[0026]数据分析模块是本专利技术的防止用户拍照抖动的系统最重要的模块。该数据分析模块选取拍照时以及拍照前和/或拍照后的至少两帧图像,对所选取的几帧图像进行分析处理,统计每帧图像的焦点数量,选择焦点数量最多的图像作为拍照得到的图像,由于角点数量最多的图像是数据分析模块所选取的图像当中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防止用户拍照抖动的方法,其特征在于,包括:步骤1,选取拍照时以及拍照前和/或拍照后的至少两帧图像;步骤2,对所述图像进行分析处理,统计每帧所述图像的焦点数量;步骤3,选择焦点数量最多的图像作为拍照得到的图像。2.如权利要求1所述的防止用户拍照抖动的方法,其特征在于,开辟与所选取的图像数量一致的暂存空间用来分别存储所选取的图像;和/或开启与所选取的图像数量一致的线程用来对各图像进行并行分析处理。3.如权利要求1所述的防止用户拍照抖动的方法,其特征在于,对所述图像进行分析处理具体包括:获取每帧图像的yuv数据;对所述图像的像素进行遍历,计算每一帧图像的每一个像素在x方向和y方向上与周边像素的差异值;通过x方向上的差异值与y方向上的差异值计算斜边值;当所述像素的斜边值超过整体极限差异一定程度的阈值,判定该像素为焦点。4.如权利要求1所述的防止用户拍照抖动的方法,其特征在于,根据图像缓存的帧速度选取拍照时、拍照前、拍照后对应时间的三帧图像。5.如权利要求1所述的防止用户拍照抖动的方法,其...

【专利技术属性】
技术研发人员:黄子恺杨秋平宋海波
申请(专利权)人:英望科技山东有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1