一种人像拍摄方法与流程

文档序号:33713887发布日期:2023-04-01 02:59阅读:93来源:国知局
一种人像拍摄方法与流程

1.本技术涉及终端领域,尤其涉及一种人像拍摄方法。


背景技术:

2.数码相机、手机等电子设备,为了向用户提供更好的拍摄功能和拍摄体验,陆续推出了各种各样的适应具体拍摄场景的拍摄模式,例如人像模式、夜景模式、高动态(high dynamic range,hdr)录像模式等等。当用户选择适应当前拍摄场景的拍摄模式时,例如在拍摄人物时使用人像模式,用户可以获得画面质量更好的照片或视频,从而获得更好的拍摄体验。
3.但是,随着拍摄模式的增多,用户的选择成本变大。一方面,用户需要更多的先知经验确定与当前所处的拍摄场景最匹配的拍摄模式;另一方面,随着拍摄模式的增多,拍摄模式对应的入口的深度增加,用户需要通过更多的操作确定某一拍摄模式的入口,进而进入该拍摄模式。鉴于上述问题,用户也难以获得更好的拍摄体验。


技术实现要素:

4.第一方面,本技术提供了一种人像拍摄方法,该方法应用于具备摄像头的电子设备,该方法包括:显示第一预览界面,第一预览界面包括第一预览窗,第一预览窗用于显示摄像头实时捕捉到的图像;当摄像头实时捕捉到的图像中包括人像时,在第一预览界面中显示第一控件;检测到作用于第一控件的第一用户操作;响应于第一用户操作,显示第二预览界面,第二预览界面包括第二预览窗,第二预览窗用于显示将摄像头实时捕捉到的图像经过背景虚化后的图像;在第一时刻,第二预览窗中显示有第一图像,第一图像中包括第一人像,第一图像中第一人像之外的区域被虚化的程度为第一虚化度;在第二时刻,第二预览窗中显示有第二图像,第二图像中包括第二人像,第二图像中第二人像之外的区域被虚化的程度为第二虚化度;第二时刻与第一时刻不同;其中,第一人像在第一图像中所占区域的大小与第一虚化度相关,第二人像在第二图像中所占区域的大小与第二虚化度相关,其中,当第一人像在第一图像中所占区域的大小大于第二人像在第二图像中所占区域的大小时,第一虚化度大于第二虚化度。
5.实施第一方面提供的方法,电子设备可以实时地识别摄像头上报的图像,确定是否在拍摄人像。当识别到人像时,电子设备可显示人像推荐标签,以供用户快速进入人像模式,并获取更好的拍摄体验。其中,在进入人像模式后,电子设备还可根据实时的图像中人像的大小调整虚化度,从而调整人像模式的成像效果,进一步优化用户的拍摄体验。
6.结合第一方面提供的方法,在一些实施例中,该方法还包括:在第一时刻之前,确定摄像头捕捉到的第三图像中人像区域的大小,根据第三图像中人像区域的大小确定第一虚化度,第一图像是在第三图像之后的n帧图像内,n为大于0的自然数。
7.实施上述实施例提供的方法,在进入人像模式之后,电子设备也可间隔n帧,周期性地确定最大人像面积比,然后根据更新后的最大人像面积比更新虚化度。
8.结合第一方面提供的方法,在一些实施例中,确定摄像头捕捉到的第三图像中人像区域的大小,具体包括:检测到变焦倍率变化,响应于变焦倍率变化,确定摄像头捕捉到的第三图像中人像区域的大小。
9.实施上述实施例提供的方法,在进入人像模式之后,电子设备也可监测用户是否做出改变变焦倍率的操作(即变焦操作)。当检测到变焦操作之后,电子设备可根据变焦操作调整虚化度。
10.结合第一方面提供的方法,在一些实施例中,当摄像头实时捕捉到的图像中包括人像时,在第一预览界面中显示第一控件,具体包括:当摄像头连续捕捉到多个图像中均包括人像时,在第一预览界面中显示第一控件。
11.实施上述实施例提供的方法,电子设备可以确定稳定的拍摄人像的场景,从而避免频繁的切换推荐模式,给用户带来不好的拍摄体验。
12.结合第一方面提供的方法,在一些实施例中,电子设备通过预置的人像识别模型确定第一图像中是否包括人像。
13.实施上述实施例提供的方法,电子设备可以通过预设的特定的人像识别模块确定摄像头捕捉到的图像中是否包括人像。
14.结合第一方面提供的方法,在一些实施例中,人像识别模型包括第一人体识别模型和第二人体识别模型,第一人体识别模型和第二人体识别模型是基于不同的神经网络训练方法得到的;电子设备确定捕捉到的图像中包括的人像是第一人体识别模型输出的图像中的人像和第二人体识别模型输出的图像中的人像的交集。
15.实施上述实施例提供的方法,电子设备可以通过识别两个或多个人体识别模型更加准确地识别摄像头捕捉的图像中是否包括人像。特别是在背身不含人脸的多人场景中,上述人像识别方法准确率高且稳定。
16.结合第一方面提供的方法,在一些实施例中,人像识别模型包括第一人体识别模型和第一人脸识别模型;电子设备确定捕捉到的图像中包括的人像是第一人体识别模型输出的图像中的人像和第一人脸识别模型输出的图像中的人脸图像的交集。
17.实施上述实施例提供的方法,电子设备可以通过识别人体和人脸结合的方法,更加准确的识别摄像头捕捉的图像中是否包括人像。
18.结合第一方面提供的方法,在一些实施例中,摄像头实时捕捉到的图像中包括人像,具体为:摄像头实时捕捉到的图像中包括第一尺寸的人像,第一尺寸大于第一阈值。
19.实施上述实施例提供的方法,电子设备可以过滤掉图像中过小的人像,以避免在拍摄主体并非人像时,为用户推荐人像模式,干扰用户拍摄,降低用户使用体验。
20.结合第一方面提供的方法,在一些实施例中,在第一预览界面中显示第一控件之后,该方法还包括:当第一预览界面中显示第一控件的时长大于第二时长,停止显示第一控件。
21.实施上述实施例提供的方法,电子设备可以固定显示人像推荐标签一段时间,例如3秒。在预设的显示时间结束时,电子设备可确定用户不需要人像模式,因此,电子设备可停止显示人像推荐标签,以避免干扰,提升用户拍摄体验。
22.结合第一方面提供的方法,在一些实施例中,在第一预览界面中显示第一控件之后,该方法还包括:当摄像头实时捕捉到的图像中不包括人像时,停止在第一预览界面中显
示第一控件。
23.实施上述实施例提供的方法,电子设备可以根据捕捉到的图像所反映的拍摄场景,确定是否停止显示人像推荐标签。这样,在捕捉到的图像不包括人像之前的任意时刻,用户都可以通过人像推荐标签快速便捷地进入人像模式。
24.结合第一方面提供的方法,在一些实施例中,当摄像头实时捕捉到的图像中不包括人像时,停止在第一预览界面中显示第一控件,具体包括:当摄像头连续捕捉到多个图像中均不包括人像时,停止在第一预览界面中显示第一控件。
25.实施上述实施例提供的方法,在确定是否停止显示人像推荐标签的过程中,即确定是否停止推荐人像模式时,电子设备可以通过多个图像确定稳定的不包括人像的拍摄场景,从而避免偶然抖动导致人像消失使得人像推荐标签不稳定,影响用户使用体验。
26.结合第一方面提供的方法,在一些实施例中,将摄像头实时捕捉到的图像经过背景虚化后的图像,具体包括:当识别到图像中第一位置的点光源时,在包括第一位置的第一区域显示第一光斑。
27.实施上述实施例提供的方法,在夜晚拍摄人像时,电子设备可将背景中的点光源虚化为特定形状的光斑,以增加其视觉观感,满足用户个性化拍摄需求,提升用户拍摄体验。
28.第二方面,本技术提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
29.第三方面,本技术提供一种计算机可读存储介质,包括指令,当上述指令在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
30.可以理解地,上述第二方面提供的电子设备、第三方面提供的计算机存储介质均用于执行本技术所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
31.图1a-图1i是本技术实施例提供的一组电子设备100实施人像拍摄方法用户界面;
32.图2a-图2e是本技术实施例提供的一组在录像过程中调整虚化度的用户界面;
33.图3a-图3c是本技术实施例提供的一组周期性检测图像的最大人像面积比并调整背景虚化度的用户界面;
34.图4a-图4d是本技术实施例提供的一组根据变焦操作调整背景虚化度的用户界面;
35.图5本技术实施例提供的相机应用的结构示意图;
36.图6是本技术实施例提供的人像拍摄方法的流程图;
37.图7a-图7b是本技术实施例提供的一组利用人像识别模型识别图像中人像的示意图;
38.图8a-图8b是本技术实施例提供的另一组利用人像识别模型识别图像中人像的示意图;
39.图9是本技术实施例提供的另一组利用人像识别模型识别图像中人像的示意图;
40.图10是本技术实施例提供的一帧通过阈值筛选图像中有效人像的示意图;
41.图11是本技术实施例提供的电子设备100的系统结构示意图;
42.图12是本技术实施例提供的电子设备100的硬件结构示意图。
具体实施方式
43.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。
44.本技术实施例提供了一种人像拍摄方法。该方法可应用于数码相机、手机等能够利用摄像头提供拍摄服务的电子设备上。上述电子设备记为电子设备100。
45.实施该方法,电子设备100可以实时地获取摄像头生成的每一帧图像,并检测图像中是否包括人像。当识别到人像时,电子设备100可在预览界面中显示人像推荐标签。人像推荐标签对应人像模式。相比于默认的普通拍摄模式,人像模式可以根据图像中的人像确定背景,并对背景进行模糊处理,使背景呈现虚化效果(即背景虚化),以满足用户个性化的拍摄需求。
46.在显示人像推荐标签之后,电子设备100可以通过作用在人像推荐标签的用户操作,例如点击操作,确定用户是否选择开启人像模式。这样,用户可根据上述人像推荐标签快速便捷地进入人像模式,进行人像拍摄,从而减少相机的能力浪费,节约用户操作,提升用户使用体验。
47.不限于数码相机、手机,电子设备100还可以是具备摄像头的平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、人工智能(artificial intelligence,ai)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本技术实施例对电子设备100的具体类型不作特殊限制。
48.图1a-图1i是本技术实施例提供的一组电子设备100实施人像拍摄方法用户界面。
49.图1a示例性示出了电子设备100的主界面(homepage,也称桌面)。如图1a所示,主界面可包括状态栏111、页面指示符112、常用应用程序托盘113和一般应用程序托盘114。
50.其中,状态栏可包括移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符、无线高保真(wireless fidelity,wi-fi)信号强度指示符,电池状态指示符、时间指示符等。
51.常用应用程序托盘113和一般应用程序托盘114均用于承载应用程序图标。用户可用过点击应用程序图标启用该图标对应的应用程序。例如,常用应用程序托盘113中可包括相机应用图标、通讯录应用图标、电话应用图标、信息应用图标。一般应用程序托盘114可包括设置应用图标、应用市场应用图标、图库应用图标、浏览器应用图标等。不限于上述图标,主界面还可包括其他应用程序图标,这里不再一一例举。任意一个应用程序的图标可放置在常用应用程序托盘113或一般应用程序托盘114。
52.多个应用程序图标可分布在多个页面。页面指示符112可用于指示当前显示的页面与其他页面的位置关系。用户可以左滑/右滑的触控操作来浏览其他页面。常用应用程序托盘113中承载的应用程序图标不会随页面变化,即固定的;而一般应用程序托盘114中承载的应用程序图标会随着页面的变化而变化。
53.可以理解的,图1a及其后续介绍的用户界面仅仅示例性示出了以手机为例的电子设备100的一种可能的用户界面样式,不应构成对本技术实施例的限定。
54.在显示图1a所示的用户界面时,电子设备100可检测到作用于相机应用图标的用户操作。上述用户操作如点击操作。响应于上述用户操作,电子设备100可运行相机应用,同时,电子设备100可在屏幕中显示相机应用的主界面。相机应用是电子设备100上安装的能够调用摄像头提供拍摄服务的应用程序。不限于相机应用,电子设备100上可以安装的其他具备调用摄像头提供拍摄服务的应用程序也可以实施本技术提供的人像拍摄方法。本技术实施例对此不做限制。
55.图1b是本技术实施例提供的相机应用的预览界面。如图1b所示,相机应用的预览界面可包括菜单栏121、拍摄控件122、预览窗123、回看控件124。
56.菜单栏121中可显示有多个拍摄模式选项,例如“夜景”、“人像”、“拍照”、“录像”等选项。“拍照”选项对应默认的图像处理通路,用于拍摄经过默认的图像处理通路处理得到的照片。上述默认的图像处理通路包括色温校准、去噪、防抖等基础图像处理过程。“录像”选项也对应上述默认的图像处理通路,但用于拍摄视频。“拍照”选项对应的拍摄方法可称为普通拍照模式。“录像”选项对应的拍摄方法可称为普通录像模式。
[0057]“夜景”选项对应夜景模式,适用于光线较暗的拍摄场景,例如夜晚。“人像”选项对应人像模式,适用于拍摄人物。相机应用还可以更多的拍摄模式,例如适用于过曝场景的高动态模式,适用于近距离拍摄的微距模式等。用户可通过菜单栏121中的“更多”控件来获取更多的拍摄模式,以满足用户个性化的拍摄需求。上述夜景模式、人像模式、高动态模式、微距模式等既可以用于拍照,也可以用于录像。如图1b所示,当前选中的拍摄模式为普通录像模式。
[0058]
预览窗123可用于实时地显示摄像头上报的图像。拍摄控件122可用于接收用户的拍摄操作。在普通录像模式下,在检测到作用于拍摄控件122的用户操作后,电子设备100可开始录像,即开始编码摄像头上报的图像帧序列(即图像流)。
[0059]
在结束录制后,电子设备100可将已编码的图像流封装为视频,并存储到电子设备100的存储器中。电子设备100可根据上述已保存的视频生成一帧缩略图。回看控件124可显示上述缩略图,用于提示用户已结束录制视频,并已保存视频。然后,用户可以随时浏览上述已保存的视频。
[0060]
图1b所示的用户界面还可包括设置栏125。设置栏125中可包括多个设置控件,用于调整拍摄参数。例如,设置栏125可包括滤镜控件125a、闪光灯控件125b、自动跟随控件125c、主角模式控件125d以及用户获取更多设置选项的控件125e。滤镜控件125a可用于选择滤镜。相机应用可根据选中的滤镜类型对摄像头上报的图像进行渲染,从而为用户提供具有特定画面效果的照片或视频。闪光灯控件125b可用于开启或关闭闪光灯,从而改变拍摄场景的光照度,提升或降低图像光照度。自动跟随控件125c可用于设置自动跟随拍摄主体。主角模式控件125d可用于开启主角模式,拍摄并保存两路视频:基于预览窗中显示的全
景图像得到的全景视频和裁剪预览窗中全景图像中的主角得到的主角视频。
[0061]
电子设备100可识别摄像头上报的图像中的图像内容。当识别到人像时,电子设备100可在预览界面中显示人像推荐标签。用户可根据上述人像推荐标签快速进入人像模式,进行人像拍摄。
[0062]
如图1c所示,电子设备100可识别摄像头上报的图像中是否包含人像。人像包括人脸和/或人体。同时,电子设备100还可确定各个人像在整个图像中的面积比(记为人像面积比)。可选的,当检测到人像时,电子设备100可在图像中人像所在的图像区域上显示检测框,例如检测框131、检测框132,用于提示用户识别到人像。
[0063]
在连续的一段时间内均识别到图像中包括人像之后,电子设备100可确认当前所处的拍摄场景与人像模式匹配,并确认在预览界面中显示人像推荐标签,用于向用户推荐人像模式。
[0064]
上述连续的一段时间可称为进入周期。进入周期可用于稳定性检测,确定稳定的拍摄人像的场景。上述进入周期的时长例如0.5秒,1秒等。可以理解的,进入周期的具体时长可由开发人员依据经验设定,本技术实施例对此不做限定。可选的,电子设备100也可不设置进入周期。在不设置进入周期的场景下,在识别到一帧图像包括人像之后,电子设备100可确认当前所处的拍摄场景与人像模式匹配,并确认在预览界面中显示人像推荐标签。
[0065]
可选的,电子设备100还可同时设置其他条件,例如图像光照度满足某一阈值条件,图像变焦倍率在预设的变焦倍率变化区间内等等。当上述其他条件均满足时,电子设备100再确认匹配人像模式、显示人像推荐标签。
[0066]
如图1d所示,电子设备100可在预览窗123中显示控件141。控件141可视为人像推荐标签。控件141中可显示有以图形和/或文字组成的提示信息,用于指示人像模式。例如控件141中所示的人物图形和文字“人像录像”。电子设备100可直接显示控件141,也可以以动画播放的方式显示控件141。例如,电子设备100可以先以圆形气泡的形式显示人物图形,然后将圆形气泡展开形成控件141所示的圆角矩形,同时在人物图形旁显示“人像录像”。
[0067]
用户可以通过点击控件141的操作,进入人像模式,然后使用该模式进行拍摄。
[0068]
可选的,电子设备100可还设置显示人像推荐标签(控件141)的显示时间,例如3秒。在上述显示时间内,若未检测到点击控件141的操作,则电子设备100可停止推荐人像模式,并消除控件141。电子设备100可直接在下一帧停止显示控件141,可以从下一帧开始显示退出动画,直至控件141完全消失。
[0069]
在一些实施例中,电子设备100还可持续的显示上述人像推荐标签,直至检测到人像消失。其中,可选的,在识别到一帧图像中不包括人像时,电子设备100可确定人像消失。可选的,电子设备100还可连续的检测一组图像。在确定上述一组图像中均不包括人像时,电子设备100可确定人像消失。上述连续一组图像对应的时间可称为退出周期。退出周期的时长可与进入周期相同,也可不同。同样的,退出周期的时长也可由开发人员依经验设定,本技术实施例对此不做限定。
[0070]
参考图1d,电子设备100可检测到点击控件141的用户操作。响应于上述操作,电子设备100可显示图1e所示的用户界面。该用户界面可称为人像模式预览界面。
[0071]
该界面可包括预览窗151。此时,预览窗151中显示的图像是经过背景虚化处理的图像。例如预览窗123中显示的图像包括女孩、小女孩、和猫。其中,女孩、小女孩、和猫均是
清晰的。预览窗151显示的图像也包括女孩、小女孩、和猫。其中,被识别为人像的小女孩、女孩是清晰的,而非人像区域(即背景,例如猫所在的图像区域)是经过模糊处理的。
[0072]
电子设备100可根据进入人像模式之前的最后一帧图像中的最大人像面积比,确定初始的虚化度,即模糊处理的程度。虚化度的取值范围可以为40-1。例如,图1e中预览窗151中显示的图像对应的虚化度为20。电子设备100可支持用户设置虚化度。
[0073]
参考图1e,该用户界面中还包括虚化控件152。虚化控件152可用于设置虚化度。虚化度越高,背景的模糊度越高,人像的突出显示效果更高,即人像更突出。当检测到作用于虚化控件152的用户操作后,例如点击操作,响应于上述操作,电子设备100可显示图1f所示的用户界面。
[0074]
图1f所示的用户界面包括滚动控件161和图标162。滚动控件161可用于设置虚化度。滚动控件161中的强指示虚化度强,即虚化度的取值较大。反之,滚动控件161中的弱指示虚化度弱,即虚化度的取值较小。图标162可用于指示当前虚化度对应的光圈值。例如,图标162中显示的“f8”指示了虚化度20对应的光圈值。可以理解的,这里提及的虚化度20、光圈值f8均为示例,不应构成对本技术实施例的限制。电子设备100可以通过线性差值或非线性差值的方法,确定虚化度与光圈值的映射关系。
[0075]
用户可通过沿滚动控件161强/弱方向的滑动操作增加/降低虚化度。如图1f所示,电子设备100可检测到沿滚动控件161强向弱的滑动操作。响应于上述操作,电子设备100可增大虚化度。如图1g所示,调整后的虚化度可变为30,对应光圈f2.4。这时,随着虚化度增加,相比于图1f中预览窗151中的背景图像,图1g中预览窗151中的背景图像(例如猫所在的图像)更模糊。
[0076]
在设置虚化值后,电子设备100可退回人像模式预览界面。示例性的,在图1g所示的用户界面下,电子设备100可检测到作用于预览窗151中空白区域的用户操作。上述空白区域是指未设置交互控件的区域。响应于上述操作,电子设备100可显示图1h所示的人像模式预览界面。此时,人像模式预览界面中预览窗151显示的图像对应的虚化度为用户设置的虚化度,例如上述虚化度30。
[0077]
如图1h所示,人像模式预览界面还包括变焦控件153、美颜控件154。变焦控件153可用于调节变焦倍率,进行物理变焦或数字变焦,从而改变摄像头镜头和/或预览窗123的取景范围,改变图像内容。美颜控件154可用于调节优化的程度,即美颜程度,包括但不限于磨皮、瘦脸、大眼等图像处理。用户也可以通过类似于滚动控件161的控件调节美颜程度,以满足用户个性化需求。
[0078]
人像模式预览界面还包括关闭控件155(
“×”
)、拍摄控件156、回看控件157。当检测到作用于关闭控件155的用户操作后,响应于上述用户操作,电子设备100可退出人像模式,回到普通录像模式。示例性的,电子设备100可重新显示图1c所示的用户界面。拍摄控件156、回看控件157可分别参考图1b中的拍摄控件122、回看控件124,这里不再赘述。
[0079]
特别的,在夜晚拍摄人像时,电子设备100可将背景中的点光源虚化为特定形状的光斑,以增加其视觉观感,满足用户个性化拍摄需求,提升用户拍摄体验。
[0080]
具体的,电子设备100可通过当前图像帧中背景的像素点亮度值,确定背景中的一个或多个点光源,例如夜晚远处建筑物中的点光源。这时,电子设备100可调整上述点光源对应的像素点及其附近的像素点的颜色值,使其显示效果呈现为图1i中的光斑171。不限于
图1i所示的椭圆形光斑,电子设备100还可以将背景中的点光源虚化为圆形、四角星形、心形等,本技术实施例对此不作限制。上述点光源对应的像素点在图像中的位置可称为第一位置。由第一位置构成的椭圆形、圆形、四角星形等图形对应的区域可称为第一区域。可选的,在横屏拍摄时,电子设备100可生成竖向拉伸的椭圆;在进行竖屏拍摄时,电子设备100可生成横向拉伸的椭圆,以增强图像观感。
[0081]
在显示人像模式预览界面之后,电子设备100可检测到开始录像的用户操作。电子设备100可根据上述用户操作,创建录像通路,并编码录像通路中的图像帧,保存为视频。在录像的过程中,电子设备100也可根据用户设置虚化度的操作,调整虚化度。
[0082]
如图2a所示,在人像模式对应的预览过程中,电子设备100可检测到作用于拍摄控件156的用户操作。上述作用于拍摄控件156的用户操作即开始录像的用户操作。响应于上述操作,电子设备100可显示图2b所示的录像界面。
[0083]
在开始录像之后,电子设备100可显示控件组211替换拍摄控件156和回看控件157。控件组211可包括拍摄控件211a和拍摄控件211b。拍摄控件211a可用于暂停录像。拍摄控件211b可用于停止录像。在暂停录像的过程中,预览窗151仍然可以继续实时地显示摄像头上报的经过背景虚化的图像。录像界面还包括控件212。控件212可用于指示已进行的录像时间,例如00:00:01可指示已开始录像1秒。
[0084]
如图2b所示,在录像过程中,电子设备100也可检测到作用于虚化控件152的用户操作。响应于上述操作,电子设备100也可显示用于调整虚化度的滚动控件161和图标162,以供用户调整虚化度。例如,如图2c所示,电子设备100可检测到沿滚动控件161的弱向强的滑动操作。响应于上述操作,电子设备100可降低虚化度。参考图2d,调整后的虚化度可变为15,对应光圈f10。这时,随着虚化度降低,相比于图2c中预览窗151中的背景图像,图2d中预览窗151中的背景图像(例如猫对应的图像)变得清晰。
[0085]
电子设备100可检测到作用于拍摄控件211b的结束录制操作的用户操作。响应于上述操作,电子设备100可停止编码摄像头上报的经过人脸优化的图像,并将已编码的图像流封装为视频保存到电子设备100的存储器中。参考图2e所示的用户界面,在结束录制后,电子设备100可重新显示拍摄控件156、回看控件157替换控件组211。同时,电子设备100可在回看控件157上显示上述视频对应的缩略图,提醒用户录制结束并已保存录制视频。进一步的,用户可通过上述回看控件157随时浏览已拍摄的视频。
[0086]
参考图1a-图1i、图2a-图2e所示的用户界面的介绍,实施本技术实施例提供的人像拍摄方法,电子设备100可以实时地识别摄像头上报的图像,确定是否在拍摄人像。当识别到人像时,电子设备100可显示人像推荐标签,以供用户快速进入人像模式,并获取更好的拍摄体验,例如人脸美颜、背景虚化等等。其中,在预览或录像的过程中,电子设备100还支持用户随时调整美颜度和虚化度等参数,以实时地修改成像效果,进一步优化用户的拍摄体验。
[0087]
参考图1d-图1h的介绍,电子设备100可根据进入人像模式之前的最后一帧图像中的最大人像面积比,确定初始的虚化度,然后根据用户操作调整虚化度。当用户不更改虚化度时,电子设备100保持进入时确定的虚化度。在一些实施例中,在进入人像模式之后,电子设备100也可间隔n帧,周期性地确定最大人像面积比,然后根据更新后的最大人像面积比更新虚化度。
[0088]
参考图3a-图3b所示的人像模式的预览界面。某一时刻,摄像头与拍摄对象:女孩、小女孩、和猫的距离变近了。这时,预览窗151中的人像在整个图像中的面积会变大,参考图3b所示。于是,电子设备100可依据最新的图像中的最大人像面积比更新虚化度。人像面积比增加,对应虚化度增加。示例性的,电子设备100可将初始设定的虚化度20增加到30。在显示下一帧摄像头上报的图像之前,电子设备100可按照调整后的虚化度对上述图像的背景进行虚化处理。参考图3c,在增强虚化度之后,预览窗151中的背景变更加模糊。
[0089]
在一些实施例中,在进入人像模式之后,电子设备100也可根据变焦操作调整虚化度。
[0090]
电子设备100可将变焦范围分为3个区间:超广角区间、广角区间、长焦区间。示例性的,上述超广角区间、广角区间、长焦区间分别对应0.6
×‑1×
、1
×‑2×
、2
×‑6×
。变焦控件153可分为3个显示区域。这3个显示区域分别对应上述3个变焦区间。当电子设备100当前的变焦倍率不在某一变焦区间内时,对应的显示区域仅显示该变焦区间的初始端点值。当电子设备100当前的变焦倍率在某一变焦区间内时,对应的显示区域显示当前的变焦倍率,并携带倍率标志
“×”

[0091]
参考图4a所示的用户界面,屏幕中变焦控件153可指示当前的变焦倍率为1
×
。此时,电子设备100可检测到两指同时作用于屏幕并同时向外扩展的用户操作,即增加变焦倍率的操作。响应于上述操作,电子设备100可增加变焦倍率。如图4b-图4c所示,变焦倍率可增加到1.6
×
,然后继续增加到2.5
×
。在增加到2.5
×
之后,用户的手可以离开屏幕,结束一次变焦操作。对应的,电子设备100可检测到变焦结束,然后确定当前变焦倍率更新为2.5
×

[0092]
当变焦倍率变化后,对应的,图像的最大人像面积比也会随着增加。于是,电子设备100可依据最新的图像中的最大人像面积比更新虚化度。例如,当变焦倍率从1
×
增加到2.5
×
之后,电子设备100可确定将初始的1
×
对应的虚化度20增加到30。在显示下一帧摄像头上报的图像之前,电子设备100可按照调整后的虚化度对上述图像的背景进行虚化处理。参考图4d,在增强虚化度之后,预览窗151中的背景变更加模糊。
[0093]
在一些实施例中,在人像模式的预览界面下,相机应用还具备自动追焦能力,这时,相机应用的焦距会根据自动追焦过程中拍摄对象的变化而变化。当发生自动变焦时,相机应用可触发检测图像中的最大人像面积比,于是,相机应用可根据最新确定的最大人像面积比更新虚化度,从而更新图预览窗中显示的图像的背景虚化效果。
[0094]
同样的,在开始录像后,电子设备100可以继续实施图3a-图3c所示的周期性地确定最大人像面积比进而更新虚化度的方法,和/或图4a-图4d所示的根据变焦操作确定最大人像面积比进而更新虚化度的方法,以供用户在录像过程中随时调整虚化度,满足用户个性化的拍摄需求。
[0095]
图5本技术实施例提供的相机应用的结构示意图。
[0096]
如图5所示,相机应用可包括决策模块、图像缓冲区、人像检测模块、人像模式处理模块、显示模块、视频编解码器和相机存储单元。
[0097]
决策模块用于存储并执行本技术实施例提供的一种人像拍摄算法的算法逻辑,从而实现图1a-图1i、图2a-图2e、图3a-图3c、图4a-图4d所示的用户界面对应的人像拍摄功能。
[0098]
图像缓冲区用于接收摄像头上报的图像。
[0099]
人像检测模块中存储有人像识别模型,可用于识别图像中是否包括人像。在图像缓冲区接收到摄像头上报的图像之后,可将上述图像输入到人像检测模块。人像检测模块在对输入的图像进行处理后,可以确定图像中是否包括人像。当检测到人像后,人像检测模块可输出图像中人像所在的图像区域,记为人像图像区域。
[0100]
人像模式处理模块可根据人像检测模块输出的人像图像区域确定图像的前景和背景。一个或多个人像对应的人像图像区域构成该帧图像的前景。除前景之外的其他图像区域为该帧图像的背景。人像模式处理模块可包括背景虚化模块。在确定前景和背景之后,背景虚化模块可对图像的背景进行模糊处理,从而使处理后的图像中的人像突出。其中,在前景和背景的边界处,背景虚化模块可对边界处的像素点进行羽化处理。羽化处理是指对前景边缘向背景延伸的一组像素点区域进行渐进式虚化的处理。越靠近前景边缘的背景像素点的虚化度越低,越远离前景边缘的背景像素点的虚化度越高,直至达到预设的虚化度。
[0101]
人像模式处理模块还可包括美颜模块。美颜模块可对图像的前景进行美颜处理,包括但不限于磨皮、大眼、瘦脸等美颜类型。
[0102]
显示模块用于管理和控制屏幕的显示内容。显示模块可接收并显示图像缓冲区直接发送的图像和或其他模块发送的经过处理的图像。显示模块也可根据决策模块的控制相机应用对应的用户界面的切换。
[0103]
视频编解码器。视频编解码器包括编码器和解码器。编码器用于编码录像过程中的图像流和音频信号压缩封装为视频。解码器用于与编码器对应的数字视频的解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2等。
[0104]
相机存储单元用于存储相机应用拍摄得到的图像文件,例如照片、视频。这里的相机存储单元通常为非易失性存储器(non-volatile memory,nvm)提供的存储空间。在结束拍摄并将对应的图像文件存储到相机存储单元后,用户可在随时访问相机存储单元,浏览上述图像文件。
[0105]
在开启相机应用之后,决策模块可首先创建初始预览通路。如图5所示,路径“1”所示的将图像缓冲区中的缓存的图像直接发送的显示模块进行显示的传输通路可称为初始预览通路。
[0106]
在本技术实施例中,在开启相机应用之后,决策模块还可创建将图像缓冲区中的缓存的图像发送的人像检测模块的检测通路,参考图5中路径“2”所示的通路。检测通路可用于识别图像中是否包括人像。在识别到人像后,决策模块可指示显示模块显示人像推荐标签。
[0107]
参考图1c-图1d所示的用户界面,基于初始预览通路,显示模块可接收到摄像头上报的图像并在预览窗123中显示。同时,当检测到图像中包括人像之后,显示模块可显示控件141,向用户推荐人像模式,并提供快速进入人像模式的快捷方式。
[0108]
显示模块可检测是否有作用于人像推荐标签的用户操作。在检测到上述用户操作之后,显示模块可向决策模块返回指示信息。根据上述指示信息,决策模块可在检测通路的基础上创建人像预览通路,参考图5中路径“2”、“3”、“4”所示的通路,替换初始预览通路。这时,图像缓冲区的图像会首先发送的人像检测模块确定图像中是否包括人像。在检测到人
像的基础上,人像检测模块可输出人像图像区域。然后,人像模式处理模块可基于人像检测模块输出的人像图像区域确定图像的前景和背景,并对前景和背景进行不同的图像处理,使其呈现背景虚化凸显人像的显示效果。然后,人像模式处理模块可将处理后的图像发送的显示模块进行显示。这时,显示模块显示的图像是经过人像模式处理模处理的具有背景虚化凸显人像的显示效果的图像。
[0109]
参考图1e所示的用户界面,在进入人像模式之后,基于人像预览通路,预览窗151中显示的图像是具有背景虚化凸显人像的显示效果的,例如图像中的女孩和小女孩的人像是清晰的,而背景图像(例如猫)则是经过模糊的。
[0110]
在人像模式下,显示模块可检测开始录像的用户操作。在检测到上述用户操作之后,显示模块可向决策模块返回指示信息。根据该指示信息,决策模块可基于人像预览通路创建录像通路,参考图5中路径“2”、“3”、“5”、“6”所示的通路。如图5所示,经过人像模式处理模块处理后的具有背景虚化凸显人像的显示效果的图像可被输入到编码器进行编码,封装为录像视频,然后存储到相机显示单元,以供用户随时浏览。
[0111]
此外,摄像头上报的图像通常为rgb类型的;显示模块显示的图像以及录像保存的图像通常为yuv类型的。因此,在图像从图像缓冲区流向显示模式和/或视频编解码器的过程中,相机应用还需要对图像进行颜色格式转换(例如rgb转yuv)。本技术实施例提供的人像检测、背景虚化等图像处理步骤可在颜色格式转换之后进行,以保持相机应用整体的稳定性,避免人像检测、背景虚化等图像处理过程对颜色格式转换以及其他基础图像处理过程(例如色温校准、图像降噪)的干扰。
[0112]
图6是本技术实施例提供的人像拍摄方法的流程图。
[0113]
s101:获取摄像头上报的图像。
[0114]
在开启相机应用之后,电子设备100的摄像头的可实时地根据取景范围内的光线生成图像,并将上述图像发送到调用摄像头的上层应用,即相机应用。如图5所示的相机应用的结构示意图,相机应用的图像缓冲区可首先接收到摄像头发送的图像。图像缓冲区接收到的摄像头发送的图像也称为原始图像。
[0115]
摄像头生成的图像帧序列可称为图像流。以帧率30fps为例,摄像头每33.3毫秒(ms)可向相机应用上报一帧图像。对应的,相机应用每33.3ms可以收到一帧图像。示例性的,某一时刻,相机应用可收到摄像头上报的第i帧图像。
[0116]
s102:对摄像头上报的图像进行人像检测,确定图像中是否包括人像。
[0117]
在接收到摄像头上报的第i帧图像之后,相机应用可对该帧图像进行人像检测,确定图像内容是否包括人,并确定人所在的图像区域。人像检测通过(即确定图像中包括人物)的判定依据为识别到人像:包括人脸和/或人体。
[0118]
如图5所示的相机应用的结构示意图,相机应用中可包括人像检测模块。人像检测模块中预置有人像识别模型。上述人像识别模型是基于一个或多个神经网络算法组成的网络模型。人像检测模块可利用上述人像识别模型进行人像检测,确定图像中是否包括人像。
[0119]
如图7a所示,在一些示例中,上述人像识别模型包括一个人体识别模型,记为第一人体识别模型。第一人体识别模型可确定第i帧图像中的一个或多个人体区域。人像模式处理模块可根据人像识别模型输出的一个或多个人体区域确定第i帧图像的前景和背景。这里,一个或多个人体区域构成第i帧图像的前景。人体区域之外的其他图像区域为所述第i
帧图像的背景。
[0120]
如图7b所示,第一人体识别模型可确定第i帧图像包括人体区域1和人体区域2。人体区域1和人体区域2组成的图像区域集合为第i帧图像的前景。除人体区域1和人体区域2之外的图像区域为第i帧图像的背景。
[0121]
一个人体识别模型的处理速度较快,但误差较高。因此,如图8a所示,在一些示例中,上述人像识别模型可包括一个人体识别模型(第一人体识别模型)和一个人脸识别模型。第一人体识别模型、人脸识别模型可独立的识别并确定第i帧图像中的人体区域和人脸区域。人像检测模块可根据第一人体识别模型输出的一个或多个人体区域和人脸识别模型输出的一个或多个人脸区域,确定一个或多个有效人体区域。这里,一个或多个有效人体区域构成第i帧图像的前景。有效人体区域之外的其他图像区域为所述第i帧图像的背景。
[0122]
例如,人像检测模块可计算人体区域和人脸区域的交并比(intersection over union,iou)。一个人体区域和一个人脸区域的iou满足阈值的,可确定一个有效人体区域。如图8b所示,第一人体识别模型可确定第i帧图像包括人体区域1和人体区域2;人脸识别模型可确定第i帧图像包括人脸区域1和人脸区域2。这时,人像检测模块可根据人体区域1和人脸区域1的iou满足预设阈值确定有效人体区域1。同样的,人像检测模块可根据人体区域2和人脸区域2的iou满足预设阈值确定有效人体区域2。这时,人像模式处理模块可根据有效人体区域1和有效人体区域2组成的图像区域集合为第i帧图像的前景。除有效人体区域1和有效人体区域2之外的图像区域为第i帧图像的背景。
[0123]
相对于图7a所示的人像识别模型,图8a所示的人像识别模型的准确度更高,但无法识别背对摄像头时不带人脸的人像。因此,如图9所示,在一些示例中,上述人像识别模型包括两个人体识别模型:第一人体识别模型和第二人体识别模型。其中,第一人体识别模型和第二人体识别模型是通过不同的神经网络训练方法建立的网络模型。如图9所示,第一人体识别模型、第二人体识别模型可独立的识别并确定第i帧图像中的人体区域。人像检测模块可根据第一人体识别模型输出的一个或多个人体区域和第二人体识别模型输出的一个或多个人体区域,确定一个或多个有效人体区域。这里,人像检测模块可计算人体区域a和人体区域b的iou,这里不再赘述。人体区域a是第一人体识别模型输出的一个或多个人体区域中的一个人体区域。人体区域b是第二人体识别模型输出的一个或多个人体区域中的一个人体区域。
[0124]
如果未检测到人像,相机应用会对摄像头上报的下一帧图像进行s101、s102所示的处理,继续检测摄像头上报的是否包括人像。
[0125]
s103:确定s102输出的人像面积是否满足阈值。
[0126]
在一些拍摄场景中,摄像头取景范围内包括人物,但该人物并非用户的目标拍摄对象。用户的目标拍摄对象例如街景、建筑物、自然风景等等。这时,尽管识别到人物,但用户并非正在拍摄人像。因此,仅根据图像中存在人像推荐人像模式是不合适的。
[0127]
鉴于此,人像检测模块中可设置人像阈值(也称第一阈值)。当s102输出的人像在整个图像中所占的面积比高于上述人像阈值时,人像检测模块可确定该人像有效。这时,图像的前景是由有效的人像组成的。
[0128]
示例性的,第i帧图像可如图10所示:包括女孩、小女孩、猫和男人。人像识别模型可从上述第i帧图像识别到3个人物:女孩、小女孩、男人,并输出上述3个人物的人体区域:
女孩对应人体区域2,小女孩对应人体区域1,男人对应人体区域3。人像检测模块可根据各个人物的人体区域确定各个人物在整个图像中的面积比:p1(人体区域2在整个图像中的面积比)、p2(人体区域1在整个图像中的面积比)、p3(男人体区域3在整个图像中的面积比)。其中,p1、p2满足人像阈值;p3小于人像阈值。这时,人像检测模块可确定女孩、小女孩为有效的人像。因此,图10所示的第i帧图像的前景为女孩、小女孩对应的图像区域;其他的图像区域为第i帧图像的背景。
[0129]
如果未检测到有效人像,相机应用会对摄像头上报的下一帧图像进行s101~s103所示的处理,继续检测摄像头上报的是否包括人像。
[0130]
s104:当检测到有效人像后,显示人像推荐标签。
[0131]
相机应用在接收到摄像头上报的图像后,会通过初始预览通路将上述图像发送到电子设备100的显示器进行显示。用户通过显示器实时显示的图像进行预览。参考图1d所示的用户界面,预览窗123可实时的显示摄像头上报的图像。
[0132]
在初始预览通路送显第i帧图像的同时,检测通路可对第i帧图像进行人像检测,参考s102、s103的介绍。在检测到人像后,人像检测模块可向决策模块返回指示信息:指示检测到人像。根据上述指示信息,决策模块可确定开始显示人像推荐标签。这时,决策模块可指示显示模块显示人像推荐标签。显示模块可获取人像推荐标签对应的图像数据,并将其发送到显示器进行显示。参考图1d,相机应用可在图1d所示的用户界面中控件141。
[0133]
在实施稳定性检测的方法中,人像检测模块需要确定连续的n帧图像均能检测到人像。这时,人像检测模块会在稳定性检测通过后,再向决策模块返回指示检测到人像的指示信息。以前述第i帧图像为例,在确定第i帧图像至第i+n帧图像均能检测到人像之后,在显示第i+n帧图像时,相机应用可开始显示人像推荐标签。
[0134]
s105:监测屏幕触控事件,确定是否发生了点击人像推荐标签的用户操作。
[0135]
相机应用可显示人像推荐标签一段时间。这一段时间可以是预设的固定长度的时间,例如固定显示3秒人像推荐标签,也可以是不固定的,例如当检测到图像中不包括人像后停止显示人像推荐标签。上述固定长度的显示人像推荐标签的时间范围可称为第二时长。
[0136]
在显示人像推荐标签的过程中,相机应用(例如相机应用的显示模块)可监测电子设备100的屏幕的触控事件,并确定是否发生了点击人像推荐标签的用户操作。参考图1d所示的用户界面,电子设备100可检测到作用控件141的用户操作。这时,相机应用可确定发生了点击人像推荐标签的用户操作。一般的,电子设备100可在第j帧图像检测到点击人像推荐标签的用户操作,j>i。
[0137]
s106:创建人像预览通路,根据人像面积比确定初始虚化度。
[0138]
以第j帧图像为例,在检测到点击人像推荐标签的用户操作之后,相机应用可创建人像预览通路,显示人像模式对应的用户界面,以供用户进行人像模式对应的图像预览。
[0139]
结合图5所示的相机应用的结构示意图的介绍,在检测到点击人像推荐标签的用户操作之后,显示模块可向决策模块返回指示信息:指示进入人像模式。根据上述指示信息,决策模块可在检测通路的基础上创建人像预览通路,替换初始预览通路。后续,摄像头上报的图像(第j帧图像之后的图像)将会经过人像预览通路进行送显。
[0140]
相比于初始预览通路,人像预览通路包括人像模式处理模块。人像模式处理模块
可基于人像检测模块输出的人像图像区域确定图像的前景和背景,并对前景和背景进行不同的图像处理,使其呈现背景虚化凸显人像的显示效果。在经过上述图像处理之后,人像模式处理模块在将处理后的有背景虚化凸显人像的显示效果的图像发送给显示模块进行显示。
[0141]
在创建人像预览通路时,人像模式处理模块会进行初始化。其间,人像模式处理模块会根据当前帧的最大人像面积比确定初始虚化度,即模糊处理的程度。
[0142]
在显示第j帧图像的过程中检测到点击人像推荐标签的用户操作,并创建人像预览通路后,人像模式处理模块可从人像检测模块中获取当前第j帧图像的一个或多个人像区域,并从上述一个或多个人像区域中确定最大的人像区域。人像模式处理模块可通过各个人像区域像素点数量确定最大的人像区域,进而最大的人像区域与整个图像的面积比,即最大人像面积比。示例性的,最大人像面积比的取值范围为0.4~0.02;虚化度的取值范围为40~1。
[0143]
最大人像面积比与虚化度之间建立有映射关系。人像模式处理模块可通过线性差值或非线性差值的方式确定最大人像面积比对应的虚化度。例如,最大人像面积比0.4可对应虚化度40;最大人像面积比0.02可对应虚化度1。
[0144]
可选的,在通过人脸确定人像的场景下,人像模式处理模块也可记录最大人脸面积比与虚化度之间的映射关系。在从人像检测模块中获取当前第j帧图像的一个或多个人脸区域,并确定最大人脸面积比之后,人像模式处理模块可通过上述映射关系确定最大人像面积比对应的虚化度。
[0145]
可以理解的,在显示第j帧图像结束后,相机应用会继续显示下一帧图像:第j+1帧图像,这时,相机应用会继续检测是否发生点击人像推荐标签的用户操作。
[0146]
s107:将摄像头上报的图像通过人像预览通路发送到显示模块进行显示。
[0147]
在创建人像预览通路后,并使用人像预览通路替换初始预览通路后,图像缓冲区中接收到的摄像头上报的图像,会通过人像预览通路发送的显示模块进行送显,不再通过初始预览通路发送到显示模块进行送显。
[0148]
同样以上述第j帧图像为例,在显示模块显示第j帧图像的过程中,图像缓冲区可接收到第j+1帧图像。结合图5,图像缓冲区中首先会将第j+1帧图像发送到人像检测模块进行人像检测,确定第j+1帧图像中的人像区域。然后,人像模式处理模块可基于人像检测模块输出的人像区域确定第j+1帧图像的前景和背景。然后,人像模式处理模块中的背景虚化模块可对第j+1帧图像的背景进行模糊处理,同时,可选的,人像模式处理模块中的美颜模块对第j+1帧图像的前景进行美颜处理。其中,在前景和背景的边界处,背景虚化模块可对边界处的像素点进行羽化处理,使背景的虚化呈现出渐进式虚化的效果。经过羽化处理的图像中的前景与背景的过渡更加自然,富有更好的视觉观感。经过背景虚化和/或美颜处理后,然后,人像模式处理模块可将处理后的第j+1帧图像发送到显示模块进行送显。
[0149]
参考图1e所示的用户界面,这时,预览窗151中显示的图像,例如第j+1帧图像,具有背景虚化凸显人像的显示效果的:图像中的女孩和小女孩的人像是清晰的,而背景图像(例如猫)则是经过模糊的。
[0150]
s108:监测屏幕触控事件,确定是否发生了调整虚化度的用户操作。
[0151]
在相机应用通过人像预览通路送显的过程中,相机应用(例如相机应用的显示模
块)可监测电子设备100的屏幕的触控事件,并确定是否发生了调整虚化度的用户操作。
[0152]
参考图1e所示的用户界面,电子设备100可检测到作用于虚化控件152的用户操作。这时,相机应用可确定发生了调整虚化度的用户操作。一般的,电子设备100可在第k1帧图像检测到点击人像推荐标签的用户操作,k1>j。
[0153]
参考s105中的介绍,可以理解的,在显示第k1帧图像结束后,相机应用会继续显示下一帧图像:第k1+1帧图像,这时,相机应用会继续检测是否发生调整虚化度的用户操作。
[0154]
s109:根据调整虚化度的用户操作确定调整后的虚化度。
[0155]
如图1f所示,在检测到调整虚化度的用户操作之后,显示模块可显示滚动控件161及其对应的用于指示光圈值的图标162。然后,显示模块可检测用户滑动滚动控件161操作,并确定根据上述滑动滚动控件161的操作对应的手势前后位置的滑动间距。显示模块可将上述滑动间距上报给决策模块。决策模块可根据上述滑动间距确定对应的虚化度增加或减少的变化量,进而确定调整后的虚化度。滚动控件161中的刻度会根据滑动间距增加或减少而不断变动,从而实时的显示滑动操作过程中的虚化度。用户滑动操作对应的滑动间距越长,滚动控件161中的刻度的移动间距也越大,因此,虚化度增加或减少的量也越大。
[0156]
如图1f-图1g所示,显示模块可检测到沿滚动控件161强向弱的滑动操作。用户结束滑动时处于滚动控件161中心位置的刻度对应的虚化度为30。这时,显示模块可确定调整后的虚化度为30。
[0157]
s110:更新人像预览通路中的虚化度。
[0158]
在确定调整后的虚化度之后,决策模块可根据上述调整后的虚化度更新人像背景虚化模块中的虚化度。例如背景虚化模块中的虚化度中的虚化度可由s106所示的初始虚化度更新为上述调整后的虚化度30。
[0159]
后续,当摄像头上报的图像(例如第k1+1帧图像)在经过人像预览通路送显时,人像模式处理模块中的背景虚化模块可根据调整后的虚化度对图像中的背景进行模糊处理,从而增强或减轻背景的模糊度(即虚化度)。
[0160]
s111:监测屏幕触控事件,确定是否发生了变焦的用户操作。
[0161]
在相机应用通过人像预览通路送显的过程中,相机应用可监测电子设备100的屏幕的触控事件,并确定是否发生了变焦的用户操作。
[0162]
参考图4a所示的用户界面,电子设备100可检测到两指同时作用于屏幕并同时向外扩展的用户操作,即增加变焦倍率的操作。这时,相机应用可确定发生了调整虚化度的用户操作。一般的,在进入人像模式之后,电子设备100可在第k2帧图像检测到点击人像推荐标签的用户操作,k2>j。
[0163]
参考s108中的介绍,在显示第k2帧图像结束后,相机应用会继续显示下一帧图像:第k2+1帧图像,这时,相机应用会继续检测是否发生变焦的用户操作。
[0164]
s112:根据变焦的用户操作确定变焦后的人像面积比。
[0165]
如图4a-图4d所示的用户界面,显示模块可检测到变焦操作。同样的,显示模块可确定两指缩放前后的间距。决策模块可根据上述间距确定变焦倍率的变化量。通常情况下,变焦倍率与人像面积成正比。当变焦倍率增加时,人像面积也会增加。这时,在整个图像的面积不变的情况下,人像面积与整个图像面积的面积比(即人像面积比)也会增加。
[0166]
s113:根据变焦后的人像面积比更新人像预览通路中的虚化度。
[0167]
然后,决策模块可根据变焦后的人像面积比确定新的虚化度,并对应的更新背景虚化模块中的虚化度。其中,决策模块根据变焦后的人像面积比确定新的虚化度的具体过程可参考s106的介绍,这里不再赘述。
[0168]
在更新虚化度之后,当摄像头上报的图像(例如第k2+1帧图像)在经过人像预览通路送显时,人像模式处理模块中的背景虚化模块可根据更新后的虚化度对图像中的背景进行模糊处理,从而增强或减轻背景的模糊度,带来不一样的凸显人像虚化背景的显示效果,满足用户需求。
[0169]
s114:监测屏幕触控事件,确定是否发生了开始录像的用户操作。
[0170]
在相机应用通过人像预览通路送显的过程中,相机应用可监测电子设备100的屏幕的触控事件,并确定是否发生了开始录像的用户操作。参考图2a所示的用户界面,电子设备100可检测到作用于拍摄控件156的用户操作,即开始录像的用户操作。同样的,由于用户的操作的滞后性,电子设备100可在第k3帧图像检测到点击人像推荐标签的用户操作,k3>j。
[0171]
参考s108、s111中的介绍,在显示第k3帧图像结束后,相机应用会继续显示下一帧图像:第k3+1帧图像,这时,相机应用会继续检测是否发生调整虚化度的用户操作。
[0172]
s115:创建录像通路并编码录像流。
[0173]
在检测开始录像的用户操作之后,显示模块可向决策模块返回指示信息:指示开始录像。响应于上述指示信息,决策模块可基于人像预览通路创建录像通路。在录像通路中,经过人像模式处理模块处理后的具有背景虚化凸显人像的显示效果的图像可依次被输入到编码器,进行编码封装,从而生成录像视频。然后,生成录像视频可被写入相机存储单元保存,以供用户随时浏览。
[0174]
在本技术实施例中:
[0175]
图1b所示的用户界面可称为第一预览界面,图1b中的预览窗123可称为第一预览窗。图1d所示的控件141(人像推荐标签)可称为第一控件。图1e所示的用户界面可称为第二预览界面。图1e中的预览窗151可称为第二预览窗。
[0176]
电子设备100显示图1f所示的用户界面的时刻可称为第一时刻。其中,预览窗151显示该帧图像可称为第一图像。第一图像中的人像可称为第一人像。此时图像的背景虚化度(例如20)可称为第一虚化度。电子设备100显示图1g所示的用户界面的时刻可称为第二时刻。其中,预览窗151显示该帧图像可称为第二图像。第二图像中的人像可称为第二人像。此时图像的背景虚化度(例如30)可称为第二虚化度。图2c和图2d、图3a和图3c、图4a和图4d可参考上述图1f和图1g,这里不在赘述。
[0177]
图11是本技术实施例提供的电子设备100的系统结构示意图。
[0178]
分层架构将系统分成若干个层。层与层之间通过软件接口通信。在一些实施例中,分层架构系统包括五层:从上至下分别为应用程序层,应用程序框架层、硬件抽象层、驱动层以及硬件层。
[0179]
应用程序层可以包括一系列应用程序包。在本技术实施例中,应用程序包可以包括相机。
[0180]
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。在
本技术实施例中,应用程序框架层可以包括相机访问接口,其中,相机访问接口可以包括相机管理以及相机设备。相机访问接口用于为相机应用提供应用编程接口和编程框架。
[0181]
硬件抽象层为位于应用程序框架层以及驱动层之间的接口层,为操作系统提供虚拟硬件平台。本技术实施例中,硬件抽象层可以包括相机硬件抽象层以及相机算法库。
[0182]
其中,相机硬件抽象层可以提供相机设备1、相机设备2或更多的相机设备的虚拟硬件。相机设备1、相机设备2以及更多的相机设备对应电子设备100上安装的一个或多个摄像头。电子设备100可通过相机设备1、相机设备2等相机设备调用各个摄像头。相机算法库可包括实现本技术实施例提供的人像拍摄方法的运行代码和数据,例如人像检测算法、背景虚化算法等。
[0183]
驱动层为硬件和软件之间的层。驱动层包括各种硬件的驱动。驱动层可以包括相机设备驱动、数字信号处理器驱动以及图像处理器驱动等。其中,相机设备驱动用于驱动摄像头的传感器采集图像以及驱动图像信号处理器对图像进行预处理。数字信号处理器驱动用于驱动数字信号处理器处理图像。图像处理器驱动用于驱动图形处理器处理图像。
[0184]
下面结合上述硬件结构以及系统结构,对本技术实施例中方法进行具体描述:
[0185]
1.电子设备100开启摄像头,获取摄像头上报的图像。
[0186]
响应于用户在相机应用图标上的操作(例如点击操作),相机应用调用应用框架层的相机访问接口,启动相机应用,进而通过调用相机硬件抽象层中的相机设备1(默认的,一般为主摄摄像头)发送启动相机应用的指令,相机硬件抽象层将该指令发送到驱动层的相机设备驱动,该相机设备驱动可以启动对应相机设备1的传感器(例如传感器1),通过传感器1采集图像光信号。并将该图像光信号传输到图像信号处理器进行预处理,得到图像,然后将该图像通过相机设备驱动传输至相机硬件抽象层。持续生成的图像构成图像流。
[0187]
2.电子设备100识别图像中是否包括人像。
[0188]
一方面,相机硬件抽象层可将图像直接传回相机应用,进行送显。
[0189]
另一方面,相机硬件抽象层可将图像发送的相机算法库。具体的,相机硬件抽象层可将图像发送的相机算法库中的人像检测算法。基于数字信号处理器、图像处理器的支持,人像检测算法可提取图像的特征信息,确定图像中是否包括人像(人脸和/或人体)。然后,相机算法库可将人像检测算法输出的结果通过相机硬件抽象层传回相机应用。
[0190]
相机算法库中还可包括各类拍摄模式对应的图像处理算法。例如人像模式对应的背景虚化处理算法、人像美颜处理算法等等。在选中对应的拍摄模式之后,输入到相机算法的图像还可经过上述图像处理算法进行图像处理,使其具备对应拍摄模式的独特显示效果。然后,相机算法库将处理后的具备独特显示效果的图像上传回应用层显示,以供用户预览和录像。
[0191]
3.电子设备100更新屏幕中显示的内容,向用户推荐人像模式。
[0192]
一方面,相机应用屏幕的指定区域(例如预览窗)显示摄像头上报的图像。
[0193]
另一方面,相机应用可通过窗口管理器管理用户界面中的各个窗口,更新窗口中显示的内容。例如,当人像检测算法输出的结果为识别到人像时,相机应用可生成控件141,并将控件141与相机算法库提供的人像预览通路关联。同时,在生成控件141后,相机应用获取对应的图像数据,并通过窗口管理器发送到显示器显示,从而实现在识别到人像时显示人像推荐控件的功能。
serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。
[0204]
gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
[0205]
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0206]
电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
[0207]
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd)。显示面板还可以采用有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等制造。在一些实施例中,电子设备可以包括1个或n个显示屏194,n为大于1的正整数。
[0208]
在本技术实施例中,电子设备100可通过gpu,显示屏194,以及应用处理器提供的显示功能显示图1a-图1i、图2a-图2e、图3a-图3c、图4a-图4d所示的用户界面,包括界面中显示的图像和控件等。
[0209]
电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
[0210]
isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,光照度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
[0211]
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
[0212]
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频。
[0213]
在本技术实施例中,电子设备100可通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器提供的拍摄功能实现图1a-图1i、图2a-图2e、图3a-图3c、图4a-图4d所示的用户界面,为用户提供录制视频和/或拍摄照片的功能。
[0214]
内部存储器130可以包括一个或多个随机存取存储器(random access memory,ram)和一个或多个非易失性存储器(non-volatile memory,nvm)。随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
[0215]
本技术实施例提供的人像拍摄方法对应的程序代码可存储在非易失性存储器中。在运行相机应用的场景下,电子设备100可将非易失性存储器中存储的程序代码加载到随机存取存储器中,然后发送到处理器110中执行,从而实现自动识别拍摄场景,向用户推荐与当前拍摄场景匹配的拍摄模式的功能。
[0216]
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将拍摄得到的视频等文件保存在外部的非易失性存储器中。
[0217]
电子设备100可以通过音频模块170和应用处理器等实现音频功能。
[0218]
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
[0219]
具体的,音频模块170可包括扬声器170a、受话器170b、麦克风170c、耳机接口170d。扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。在本技术实施例中,在开始录制视频之后,电子设备100可编码麦克风170c音频电信号,然后得到视频音轨。麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170d用于连接有线耳机。
[0220]
压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。
[0221]
触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
[0222]
在本技术实施例中,电子设备100可通过触摸传感器180k提供的触控检测能力,检测用户作用于屏幕的点击、滑动等用户操作,从而控制应用程序、器件的启用和关闭,实现图1a-图1i、图2a-图2e、图3a-图3c、图4a-图4d所示的用户界面的跳转切换。
[0223]
本技术的说明书和权利要求书及附图中的术语“用户界面(user interface,
ui)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,xml)等特定计算机语言编写的源代码,界面源代码在终端设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。控件(control)也称为部件(widget),是用户界面的基本元素,典型的控件有工具栏(toolbar)、菜单栏(menu bar)、文本框(text box)、按钮(button)、滚动条(scrollbar)、图片和文本。界面中的控件的属性和内容是通过标签或者节点来定义的,比如xml通过《textview》、《imgview》、
[0224]
《videoview》等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页,也称为页面,可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言
[0225]
(hyper text markup language,html),层叠样式表(cascading style sheets,css),java脚本(javascript,js)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如html通过《p》、《img》、《video》、《canvas》来定义网页的元素和属性。
[0226]
用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
[0227]
在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
[0228]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含
一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
[0229]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1