一种拍照时降低电流的方法及装置
技术领域
本发明属于相机技术领域,尤其涉及一种拍照时降低电流的方法及装置。
背景技术
随着移动终端智能化时代的到来,移动终端(比如手机、IPAD)的配置越来越强大,对移动终端续航功能也提出了越来越高的要求。而现有的移动终端在打开相机进行拍照时,移动终端耗电很快,相机基本上都有人脸检测的功能,加入了对人脸检测后,电流耗得更快,原因就是系统需要对预览的数据进行人脸检测与解析,占用CPU的大量运算,所以耗电量很大。
发明内容
本发明的目的在于提供一种拍照时间歇性的启动相机的人脸检测功能的降低电流的方法,以解决现有的移动终端在拍照时耗电很快的问题。
本发明提供了一种拍照时降低电流的方法,包括:
一种拍照时降低电流的方法,其特征在于,包括:
在检测到相机预览模式开启后,启动人脸检测功能;
对获取的预览数据进行人脸检测;
根据人脸检测结果确定是否暂停所述人脸检测。
进一步的,所述根据人脸检测结果确定是否暂停所述人脸检测,具体为:
若在当前帧预览数据中检测到人脸,则继续开启人脸检测功能进行人脸检测;
若在当前帧预览数据中没有检测到人脸,则记录连续未检测到人脸的帧数,并在所述连续未检测到人脸的帧数大于或等于预设的第一阈值时,关闭所述人脸检测功能以暂停人脸检测。
进一步的,在关闭所述人脸检测功能以暂停人脸检测之后,还包括:
进行预览帧数的计数,当所述预览帧数大于或等于预设的第二阈值时,再次启动所述人脸检测功能进行人脸检测。
本发明还提供了一种拍照时降低电流的装置,包括:
一种拍照时降低电流的装置,其特征在于,包括:
第一启动模块、人脸检测模块以及确定模块;
所述第一启动模块,用于在检测到相机预览模式开启后,启动人脸检测功能;
所述人脸检测模块,用于对获取的预览数据进行人脸检测;
所述确定模块,用于根据人脸检测结果确定是否暂停所述人脸检测。
进一步的,所述确定模块还包括:第一确定子模块、第一计数模块以及第一关闭模块;
所述第一确定子模块,用于在当前帧预览数据中检测到人脸时,确定继续开启人脸检测功能进行人脸检测;
所述第一计数模块,用于在当前帧预览数据中没有检测到人脸,则记录连续未检测到人脸的帧数;
所述第一关闭模块,用于在所述连续未检测到人脸的帧数大于或等于预设的第一阈值时,关闭所述人脸检测功能以暂停人脸检测;
进一步的,所述的确定模块还包括:
第二计数模块和第二启动模块;
所述第二计数模块,用于在关闭所述人脸检测功能以暂停人脸检测后,进行预览帧数的计数;
所述第二启动模块,用于当所述预览帧数大于或等于预设的第二阈值时,再次启动所述人脸检测功能进行人脸检测。
在本发明中,在检测到相机预览模式开启后,启动人脸检测功能;对获取的预览数据进行人脸检测,并根据人脸检测结果确定是否暂停所述人脸检测,这样间断性的启动或暂停占用CPU大量运算时间的人脸检测,在没有人脸的情况下暂停人脸检测,能大大降低手持设备在拍照时的耗电量,提高了用户体验感。
附图说明
图1是本发明实施例提供的拍照时降低电流的方法的实现流程图;
图2是本发明实施例提供的拍照时降低电流方法步骤103具体实现流程图;
图3是本发明实施例提供的拍照时降低电流方法步骤103又一具体实现流程图;
图4是本发明实施例提供的拍照时降低电流的装置的结构框图;
图5是本发明实施例提供的图4中确定模块的结构框图;
图6是本发明实施例提供的图4中确定模块的又一结构框图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的一种拍照时降低电流方法的实现流程,详述如下:
步骤101、在检测到相机预览模式开启后,启动人脸检测功能。
打开相机或摄像头进行拍照时,摄像头获取景或人、物,然后进行相机预览,在检测到相机预览模式开启后,启动人脸检测功能。
步骤102、对获取的预览数据进行人脸检测。
摄像头获取景或人、物,然后进行预览后,对获取的预览数据进行人脸检测,检测预览数据中是否有人脸。
步骤103、根据人脸检测结果确定是否暂停所述人脸检测。
在本发明实施例中,相机预览时,根据人脸检测结果确定是否暂停人脸检测或者继续进行人脸检测。比如,若当前帧的预览数据中检测到人脸,则继续下一帧的人脸检测,若连续好几帧都没有检测到人脸,则可以暂停人脸检测,过一段时间再重新启动人脸检测功能进行人脸检测。这样间断性的启动占用CPU大量运算的人脸检测功能,在没有人脸的情况下暂停人脸检测,能大大降低手持设备在拍照时的耗电量。
为了更加详细的描述上述步骤103中的根据人脸检测结果确定是否暂停所述人脸检测,本发明实施例结合附图2做以下更具体的描述:
步骤201、判断在当前帧预览数据中是否检测到人脸,若是,则执行步骤202,若否,则执行步骤203、204。
步骤202、确定继续开启人脸检测功能进行人脸检测。
在相机预览时,若当前帧检测有人脸,说明相机获取的对象中包括人脸,那么在接下来帧预览时,需要继续进行人脸的检测。
步骤203、记录连续未检测到人脸的帧数。
在相机预览时,若当前帧没有检测到人脸,则可以通过第一计数模块对连续没有检测到人脸的帧数进行计数。
步骤204、判断连续未检测到人脸的帧数是否大于或等于预设的第一阈值,若是这执行步骤205后执行步骤206,若否,则返回步骤201。
步骤205、关闭人脸检测功能以暂停人脸检测。
在相机预览时,若当前帧没有检测到人脸,则可以通过第一计数模块对连续没有检测到人脸的帧数进行计数,若连续没有检测到人脸的帧数大于或等于预设的第一阈值,比如3帧(当然具体的帧数用户可以根据相机参数进行设定,在此不做限定),则说明相机当前获取的对象中没有人脸,可以关闭人脸检测功能,这样可以降低电流的消耗。
步骤206、进行预览帧数的计数。
当然关闭人脸检测功能后为了防止后续相机获取的对象中有人脸而没进行人脸检测影响后续拍照的效果,优选的,通过第二计数器在关闭人脸检测功能后对预览的帧数进行计数。
步骤207、判断预览帧数大于或等于预设的第二阈值,如是,则执行步骤208后返回步骤201,若否,返回步骤206。
步骤208、再次启动所述人脸检测功能进行人脸检测。
当然关闭人脸检测功能后为了防止后续相机获取的对象中有人脸而没进行人脸检测影响后续拍照的效果,通过第二计数器在关闭人脸检测功能后对预览的帧数进行计数,当关闭人脸检测功能后预览的帧数达到预设的第二阈值时,比如10帧(当然具体的帧数用户可以根据相机参数进行设定,在此不做限定),则再次启动人脸检测功能进行人脸检测,并返回步骤201中。
本发明实施例中,若在当前帧预览数据中检测到人脸,则继续开启人脸检测功能进行人脸检测;若在当前帧预览数据中没有检测到人脸,则记录连续未检测到人脸的帧数,并在所述连续未检测到人脸的帧数大于或等于预设的第一阈值时,关闭所述人脸检测功能以暂停人脸检测;在关闭所述人脸检测功能以暂停人脸检测之后,还包括:进行预览帧数的计数,当所述预览帧数大于或等于预设的第二阈值时,再次启动所述人脸检测功能进行人脸检测。这样根据当前帧的是否包含有人脸来这一具体情况,来间歇性的启动人脸检测功能,大大降低了拍照时的电流,从而降低了电量消耗。
图3为上述步骤103的又一具体实现流程图,详述如下:
步骤301、判断在当前帧预览数据中是否检测到人脸,若是,则执行步骤302,若否,则执行步骤303、304。
步骤302、确定继续开启人脸检测功能进行人脸检测。
在相机预览时,若当前帧检测有人脸,说明相机获取的对象中包括人脸,那么在接下来帧预览时,需要继续进行人脸的检测。
步骤303、记录连续未检测到人脸的时间。
在相机预览时,若当前帧没有检测到人脸,则可以通过第一计时模块对连续没有检测到人脸进行计时。
步骤304、判断连续未检测到人脸的时间是否大于或等于预设的第三阈值,若是,则执行步骤305后执行步骤306,若否,则执行返回执行步骤301。
步骤305、关闭人脸检测功能以暂停人脸检测。
在相机预览时,若当前帧没有检测到人脸,则可以通过第一计时模块对连续没有检测到人脸的时长进行计时,若连续没有检测到人脸的帧数大于或等于预设的第三阈值,比如1s(具体的时间可以根据相机参数进行设定,在此不做限定),则说明相机当前获取的对象中没有人脸,可以关闭人脸检测功能暂停人脸检测,这样可以降低电流的消耗。
步骤306、记录关闭人脸检测功能后的关闭时长。
当然关闭人脸检测功能后为了防止后续相机获取的预览数据中有人脸而没进行人脸检测影响后续拍照的效果,可以通过第二计时模块在关闭人脸检测功能后对关闭的时长进行记录。
步骤307、判断上述关闭时长是否大于或等于预设的第四阈值,若是,这执行步骤308后返回执行步骤301,若否,则执行返回继续执行步骤306。
步骤308、再次启动人脸检测功能进行人脸检测。
当然关闭人脸检测功能后为了防止后续相机获取的对象中有人脸而没进行人脸检测影响后续拍照的效果,通过第二计时模块在关闭人脸检测功能后对关闭后的时长进行记录,当关闭的时长达到预设的第四阈值时,比如5秒(具体的时间可以根据相机参数进行设定,在此不做限定),则再次启动人脸检测功能进行人脸检测,并返回步骤301中。
本发明实施例中,若在当前帧预览数据中检测到人脸,则继续开启人脸检测功能进行人脸检测;若在当前帧预览数据中没有检测到人脸,则记录连续未检测到人脸的时间,并在所述连续未检测到人脸的时间大于或等于预设的第三阈值时,关闭所述人脸检测功能以暂停人脸检测,关闭人脸检测功能以暂停人脸检测之后,还包括:记录关闭时长,当所述关闭时长大于或等于预设的第四阈值时,再次启动所述人脸检测功能进行人脸检测。这样根据当前帧的是否包含有人脸来这一具体情况,来间歇性的启动人脸检测功能,大大降低了拍照时的电流,从而降低了电量消耗。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
图4示出了本发明实施例提供的一种拍照时降低电流的装置的结构框图,该装置可以实现前述实施例所描述的方法。该装置可以运行于具备人脸检测功能的摄像头的各种终端,包括但不限于移动电话、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、数字助理(Personal Digital Assistant,PDA)、相机等。为了便于说明,仅示出了与本实施例相关的部分。
参照图4,该拍照时降低电流的装置,包括:第一启动模块41、人脸检测模块42以及确定模块43。
第一启动模块41,用于在检测到相机预览模式开启后,启动人脸检测功能。人脸检测模块42,用于对获取的预览数据进行人脸检测。确定模块43,用于根据人脸检测结果确定是否暂停所述人脸检测。
图5为本发明实施例提供的图4中的确定模块43的结构框图,确定模块43还包括:第一确定子模块431a、第一计数模块432a、第一关闭模块433a、第二计数模块434a以及第二启动模块435a。
第一确定子模块431a,用于在当前帧预览数据中检测到人脸时,确定继续开启人脸检测功能进行人脸检测。第一计数模块432a,用于在当前帧预览数据中没有检测到人脸,则记录连续未检测到人脸的帧数。第一关闭模块433a,用于在连续未检测到人脸的帧数大于或等于预设的第一阈值时,关闭所述人脸检测功能以暂停人脸检测。第二计数模块434a,用于在关闭人脸检测功能以暂停人脸检测之后,进行预览帧数的计数。第二启动模块435a,用于当预览帧数大于或等于预设的第二阈值,再次启动人脸检测功能进行人脸检测。
图6为本发明实施例提供的图4中的确定模块43的又一结构框图。确定模块43还包括:第二确定子模块431b、第一计时模块432b、第二关闭模块433b、第二计时模块434b以及第三启动模块435b。
第二确定子模块431b,用于在当前帧预览数据中检测到人脸时,确定继续开启人脸检测功能进行人脸检测;第一计时模块432b,用于在当前帧预览数据中没有检测到人脸时,记录连续未检测到人脸的时间;第二关闭模块433b,用于在所述连续未检测到人脸的时间大于或等于预设的第三阈值时,关闭所述人脸检测功能以暂停人脸检测;第二计时模块434b,用于关闭所述人脸检测功能以暂停人脸检测后,记录关闭时长;第三启动模块435b,用于当上述关闭时间大于或等于预设的第四阈值时,再次启动上述人脸检测功能进行人脸检测。
在本发明实施例中,通过间断性的启动占用CPU大量时间的人脸检测功能,在没有人脸的情况下关闭人脸检测功能,能大大降低手持设备在拍照时的耗电量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述服务器的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。