终端及其防抖拍照方法、存储装置与流程

文档序号:13812522阅读:175来源:国知局

本发明涉及电子设备技术领域,具体涉及一种终端及其防抖拍照方法、存储装置。



背景技术:

随着电子设备技术的发展,摄像头已成为大多数移动终端的标准配置为用户提供拍照功能,移动终端的拍照功能使用越来越频繁,给人们生活和工作带来了极大的乐趣和方便,而且摄像头的像素越来越高,旨在让用户拍摄到更加清晰的照片。以智能手机为例,用户打开相机软件后,只需要将镜头对准拍摄物然后点击显示于屏幕上的快门图标,即可得到一张照片。但是,点击屏幕这一操作通常会造成智能手机轻微抖动,该抖动过程会持续近1秒,而智能手机的相机程序也会在这1秒内对拍摄物进行拍摄成像,这样就会使拍摄物的成像变得模糊。尤其是高像素摄像头,对这种抖动非常敏感,拍摄得到的图片更加模糊。

为了解决这一问题,现在很多拍摄终端均具有全尺寸预览模式。所谓全尺寸预览模式指的是在拍摄之前通过摄像头进行拍摄成像的预览,在该模式下拍摄终端获取的每一帧图片都是最大尺寸的,这样在拍照时就不用进行尺寸变化,可以根据当前拍摄的图片来生成照片,从而更快地完成拍照。在全尺寸预览模式下,拍摄终端会缓存摄像头随时采集到的多帧图片,例如三帧图片,并选择其中最清晰的一张与后续拍照得到的图片进行清晰度比较,从而选取清晰度最高的一张作为照片。但是,全尺寸预览模式下的三帧图片的拍摄时间间隔很短,拍摄终端抖动时这三帧图像都可能会是不清晰的,而如果缓存更多帧图片,又会需要较大的存储空间,这无疑会加重甚至超过操作系统的限制。



技术实现要素:

鉴于此,本发明提供一种终端及其防抖拍照方法、存储装置,能够改善防抖拍照效果,提升拍摄图片的清晰度,且所需存储空间较小。

本发明一实施例的防抖拍照方法,包括:

接收用户指令,并据此设置拍摄进入全尺寸预览模式;

缓存摄像头在全尺寸预览模式下采集到的一帧最清晰图片;

接收拍照指令,并通过摄像头拍摄一帧图片;

比较所述一帧图片与最清晰图片的清晰度值,并选取其中清晰度值最高的一者作为照片,输出所述照片。

本发明一实施例的拍摄终端,包括处理器以及与所述处理器连接的摄像头、收发器和存储器,其中,

收发器用于接收用户指令;

处理器用于根据所述用户指令设置拍摄进入全尺寸预览模式;

摄像头用于在全尺寸预览模式下采集图片;

处理器用于获取摄像头在全尺寸预览模式下采集到的一帧最清晰图片;

存储器用于缓存最清晰图片;

收发器还用于接收拍照指令;

摄像头还用于根据拍照指令拍摄一帧图片;

处理器还用于比较一帧图片与最清晰图片的清晰度值,并选取其中清晰度值最高的一者作为照片,输出所述照片。

本发明一实施例的存储装置,存储有程序数据,所述程序数据能够被执行以实现上述防抖拍照方法。

有益效果:本发明将拍摄的一帧图片与全尺寸预览模式下采集到的一帧最清晰图片进行比较,选取其中清晰度值最高的一者作为照片,能够改善防抖拍照效果,提升拍摄图片的清晰度,并且,全尺寸预览模式下仅缓存一帧图片,所需存储空间较小,相比较于缓存多帧图片的情况,本发明不会加重更不会超过操作系统的限制。

附图说明

图1是本发明一实施例的防抖拍照方法的流程示意图;

图2是本发明一实施例的缓存最清晰图片的流程示意图;

图3是本发明一实施例的相机应用程序的结构示意图;

图4是本发明另一实施例的防抖拍照方法的流程示意图;

图5是本发明一实施例的拍摄终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明所提供的各个示例性的实施例的技术方案进行清楚、完整地描述。在不冲突的情况下,下述各个实施例以及实施例中的特征可以相互组合。

图1是本发明第一实施例的防抖拍照方法的流程示意图。请参阅图1,本实施例的防抖拍照方法可以包括步骤s11~s14。

s11:接收用户指令,并据此设置拍摄进入全尺寸预览模式。

拍摄终端默认开启全尺寸预览模式。当用户欲通过拍摄终端进行拍照时,可在拍摄终端上点击相关相机应用程序,从而启动摄像头并发起拍照预览请求,此时拍摄进入全尺寸预览模式。

用户指令可视为拍照预览请求的触发操作,当拍摄终端接收到该拍照预览请求后设置拍摄进入全尺寸预览模式。所述拍照预览请求的输入有多种方式,例如用户点击显示于拍摄终端屏幕上的虚拟拍照键或者拍摄终端侧面的快门等实体按键;又例如拍摄终端在延时拍照模式下,用户预先设置拍照时延,拍摄终端在到达拍照时延时自动触发。

s12:缓存摄像头在全尺寸预览模式下采集到的一帧最清晰图片。

拍摄终端通过自身的摄像头实时获取拍摄范围内的景象并成像得到图片。在现有技术中,拍摄终端会建立缓存队列,并在全尺寸预览模式下每获取一帧图片后将其加入所述缓存队列,也就是说,现有技术需要缓存多帧图片。而本实施例仅缓存一帧最清晰图片。

具体地,本实施例在通过摄像头拍摄到每一帧图片之后且拍摄下一帧图片之前,比较当前一帧图片与前一帧图片的清晰度值,从而选取其中清晰度值最高的一者作为最清晰图片并缓存。

以在全尺寸预览模式下摄像头拍摄三帧图片为例,在摄像头拍摄到第一帧图片之后,拍摄终端获取该第一帧图片的清晰度值,然后摄像头拍摄到第二帧图片,拍摄终端获取该第二帧图片的清晰度值,并将第二帧图片的清晰度值与第一帧图片的清晰度值进行比较。如果第二帧图片的清晰度值小于第一帧图片的清晰度值,则删除第二帧图片,并不对第二帧图片进行缓存,然后摄像头拍摄第三帧图片,拍摄终端获取该第三帧图片的清晰度值,并将其与第一帧图片的清晰度值进行比较。而如果第二帧图片的清晰度值大于第一帧图片的清晰度值,则删除第一帧图片,仅缓存第二帧图片,然后摄像头拍摄第三帧图片,拍摄终端获取该第三帧图片的清晰度值,并将其与第二帧图片的清晰度值进行比较。而对于第二帧图片的清晰度值等于第一帧图片的清晰度值的情况,考虑到越早拍摄到的图片越偏离拍摄者的拍摄意图,因此本实施例仅缓存第二帧图片,然后摄像头拍摄第三帧图片,拍摄终端获取该第三帧图片的清晰度值,并将其与第一帧图片的清晰度值进行比较。

由上述可知,每拍摄一帧图片,本实施例就将其清晰度值与前一帧图片的清晰度值相比较,缓存清晰度值最高的一者。在整个全尺寸预览模式下,拍摄终端仅缓存第一帧图片和后续用于比较的当前一帧图片,并且最终仅缓存清晰度值最高的一帧图片。基于此,本实施例无需建立缓存队列以缓存全尺寸预览模式下拍摄到的所有图片,所需存储空间较小,不会加重更不会超过拍摄终端操作系统的限制。

其中,本实施例获取一帧图片的清晰度值的方式包括但不限于:拍摄终端获取每一帧图片的频谱图像,选取对焦区域中高频分量最多的一帧图片作为最清晰图片。或者,拍摄终端识别当前一帧图片与前一帧图片中物体的轮廓,轮廓边界的数据差异越大,表示图片越清晰,由此选取轮廓边界的数据差异最大的一帧图片作为最清晰图片。又或者,拍摄终端可以从当前一帧图片与前一帧图片中选择多个区域,并对其进行对比度识别,选取对比度最高的一帧图片作为最清晰图片。

进一步地,请参阅图2,本实施例可以在摄像头拍摄每一帧图片时记录其拍摄时刻,相当于为每一帧图片设置一时间戳,然后在比较当前一帧图片与前一帧图片的清晰度值之前,判断所述当前一帧图片与前一帧图片的拍摄时间间隔是否小于或等于预设的时间阈值。若是,则比较当前一帧图片与前一帧图片的清晰度值,从而选取其中清晰度值最高的一者作为最清晰图片并缓存。若否,则仅缓存所述当前一帧图片。

也就是说,如果之前没有缓存任何图片,则直接把当前一帧图片进行缓存,如果之前缓存的一帧图片太老了,例如缓存的是1秒之前的图片,那么直接用当前一帧图片来替换老的;如果当前一帧图片的清晰度要比缓存的好,或者一样,那么用当前一帧图片替换缓存中的图片。

其中,预设的时间阈值只是设定的一个阈值,用户可以需求进行自定义设置,只需要大于从点击快门等按键到相机应用程序响应该按下操作并进行拍照的时间即可,该时间阈值通常低于1秒。

在本实施例中,拍摄终端可以对摄像头在全尺寸预览模式下拍摄到的每一帧图片进行清晰度评价,从而仅对符合预设清晰度标准的图片进行前述清晰度比较过程,从总体上确保每一帧图片的清晰度均不会较差。具体而言,在比较当前一帧图片与前一帧图片的清晰度值之前,拍摄终端获取当前一帧图片的清晰度值,并判断所述当前一帧图片的清晰度值是否大于或等于预设清晰度值;若是,则比较所述当前一帧图片与前一帧图片的清晰度值,从而选取其中清晰度值最高的一者作为最清晰图片并缓存;若否,则删除所述当前一帧图片,并通过所述摄像头继续拍摄,从而对继续拍摄得到的图片进行清晰度评价。

s13:接收拍照指令,并通过摄像头拍摄一帧图片。

全尺寸预览模式可视为拍照前期的数据采集阶段,其用于在拍摄之前通过摄像头进行拍摄成像的预览,在该模式下拍摄终端获取的每一帧图片都是最大尺寸的,这样在拍照时就不用进行尺寸变化,可以根据当前拍摄的图片来生成照片,从而更快地进行拍照。而所述拍照指令可视为全尺寸预览模式的结束,在接收到拍照指令之后,摄像头拍摄的为本次拍摄的最后一帧图片。在应用场景中,全尺寸预览模式到接收拍照指令的这一过程为用户按下快门等按键以产生拍照预览请求至相机应用程序响应该按下操作并产生拍照指令的过程。

请参阅图3,拍摄终端的相机应用程序通常是分层设计的,其包括应用层31、适配层32以及硬件层33,应用层31负责展示相机应用程序的界面,硬件层33负责采集图像数据,适配层32负责把硬件层33采集到的图像数据显示到预览界面上或者生成照片并回传给相机应用程序。基于此,当拍摄终端开启相机应用程序时,硬件层33就会不停地产生图像数据,适配层32的清晰度模块321根据图像数据计算一帧图片的清晰度值,适配层32的预览模块322根据图像数据刷新预览界面,使用户看到实时的图片。当用户点击快门等实体按键之后,拍摄终端的相机应用程序发出拍照指令,此拍照指令传递到适配层32,适配层32的拍照模块323获取硬件层33产生的图像数据,并与缓存模块324中的图像数据进行比较,以判定是根据缓存模块324的图像数据生成照片,还是根据硬件层33的图像数据生成照片。

s14:比较所述一帧图片与最清晰图片的清晰度值,并选取其中清晰度值最高的一者作为照片,输出所述照片。

由上述可知,本实施例将硬件层33拍摄的最后一帧图片与全尺寸预览模式下采集到的一帧最清晰图片进行比较,选取其中清晰度值最高的一者作为照片,能够改善防抖拍照效果,提升拍摄图片的清晰度。

图4为本发明的防抖拍照方法一具体应用例。结合图4所示,用户在点击快门图标时,即使有轻微抖动影响了当时的图片质量,拍摄终端也可以得到抖动前最清晰的一帧图片,由于在点击快门图标前拍摄终端是静止的,此时所得到图片是清晰的,因此该清晰图片也会一直更新缓存到点击前的最新一帧图片,直到用户因点击快门图标造成了抖动而使图像清晰度变差。在整个拍照过程中,拍摄终端可以得到抖动前缓存的一帧图片作为输出照片,其也是最清晰的一张照片。

图5是本发明的拍摄终端一实施例的结构示意图。如图5所示,所述拍摄终端50包括处理器51以及与所述处理器51连接的摄像头52、收发器53和存储器54,摄像头52、收发器53和存储器54可以通过通信总线55与处理器51连接,其中,

收发器53用于接收用户指令。

处理器51用于根据所述用户指令设置拍摄进入全尺寸预览模式。

摄像头52用于在全尺寸预览模式下采集图片。

处理器51用于获取摄像头52在全尺寸预览模式下采集到的一帧最清晰图片。

存储器54用于缓存最清晰图片。

收发器53还用于接收拍照指令。

摄像头52还用于根据拍照指令拍摄一帧图片。

处理器51还用于比较一帧图片与最清晰图片的清晰度值,并选取其中清晰度值最高的一者作为照片,输出所述照片。

在所述全尺寸预览模式下,摄像头52拍摄到每一帧图片之后且拍摄下一帧图片之前,处理器51比较当前一帧图片与前一帧图片的清晰度值,从而选取其中清晰度值最高的一者作为最清晰图片。

其中,处理器51还用于记录摄像头52拍摄每一帧图片的时刻。在比较当前一帧图片与前一帧图片的清晰度值之前,处理器51进一步用于判断当前一帧图片与前一帧图片的拍摄时间间隔是否小于或等于预设的时间阈值。若是,则处理器51比较当前一帧图片与前一帧图片的清晰度值,从而选取其中清晰度值最高的一者作为最清晰图片。若否,则处理器51控制存储器54仅缓存当前一帧图片。

在本实施例中,拍摄终端50可以对摄像头在全尺寸预览模式下拍摄到的每一帧图片进行清晰度评价,从而仅对符合预设清晰度标准的图片进行前述清晰度比较过程,从总体上确保每一帧图片的清晰度均不会较差。具体而言,比较当前一帧图片与前一帧图片的清晰度值之前,处理器51还用于获取当前一帧图片的清晰度值,并判断当前一帧图片的清晰度值是否大于或等于预设清晰度值。若是,则处理器51比较当前一帧图片与前一帧图片的清晰度值,从而选取其中清晰度值最高的一者作为最清晰图片并缓存。若否,则处理器51控制存储器54删除所述当前一帧图片,并通过摄像头52继续拍摄,从而对继续拍摄得到的图片进行清晰度评价。

本实施例的拍摄终端50的上述结构元件对应执行上述实施例的防抖拍照方法,具有与其相同的技术效果。

其中,所述拍摄终端30包括但不限于智能手机、pda(personaldigitalassistant,个人数字助理或平板电脑)等移动终端,及佩戴于肢体或者嵌入于衣物、首饰、配件中的具有拍摄功能的可穿戴设备。

另外,上述各实施例之间可以相互结合,并且上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个电子设备可读取存储介质中,即,本发明还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如u盘、光盘、服务器等。也就是说,本发明的各个实施例可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。

应理解,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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