发明内容
鉴于上述现有技术的不足,本发明的目的在于提供利用前置摄像头控制后置摄像头对焦及拍照的方法及系统,旨在解决现有的移动终端后置摄像头对焦和拍照需分离操作的问题。
本发明的技术方案如下:
一种利用前置摄像头控制后置摄像头对焦及拍照的方法,其中,包括步骤:
A、当用户开启移动终端的相机功能时,同时打开前置摄像头和后置摄像头;
B、通过前置摄像头感应的图像获取前置摄像头周围的光线亮度,并根据光线亮度判断是否有物体向前置摄像头靠近,当是时,控制后置摄像头进行对焦;
C、根据前置摄像头周围的光线亮度判断前置摄像头是否被物体覆盖,当是时,控制后置摄像头进行拍照或摄像。
所述的利用前置摄像头控制后置摄像头对焦及拍照的方法,其中,所述前置摄像头所感应的图像的传输格式为YUV格式。
所述的利用前置摄像头控制后置摄像头对焦及拍照的方法,其中,所述步骤B具体包括:
B1、获取前置摄像头感应的图像数据;
B2、对每一帧图像中的所有像素的Y值求取平均值;
B3、判断Y值的平均值是否逐渐变小,当是时则判定有物体向前置摄像头靠近。
所述的利用前置摄像头控制后置摄像头对焦及拍照的方法,其中,所述步骤B3具体包括:
判断上一帧图像中所有像素的Y值的平均值是否大于下一帧图像中所有像素的Y值的平均值+第一阀值,当是时,则判定有物体向前置摄像头靠近。
所述的利用前置摄像头控制后置摄像头对焦及拍照的方法,其中,所述步骤B3还包括:
判断每一帧图像中所有像素的Y值的平均值是否小于第二阀值,当是时,则判定有物体向前置摄像头靠近。
所述的利用前置摄像头控制后置摄像头对焦及拍照的方法,其中,所述步骤C具体包括:
C1、获取前置摄像头感应的图像数据;
C2、判断图像中的所有像素的Y值是否均小于一第三阀值,当是时则判定前置摄像头被物体覆盖。
一种利用前置摄像头控制后置摄像头对焦及拍照的系统,其中,包括:
摄像头开启模块,用于当用户开启移动终端的相机功能时,同时打开前置摄像头和后置摄像头;
对焦控制模块,用于通过前置摄像头感应的图像获取前置摄像头周围的光线亮度,并根据光线亮度判断是否有物体向前置摄像头靠近,当是时,控制后置摄像头进行对焦;
拍照摄像控制模块,用于根据前置摄像头周围的光线亮度判断前置摄像头是否被物体覆盖,当是时,控制后置摄像头进行拍照或摄像。
所述的利用前置摄像头控制后置摄像头对焦及拍照的系统,其中,所述对焦控制模块包括:
图像数据获取单元,用于获取前置摄像头感应的图像数据;
平均值计算单元,用于对每一帧图像中的所有像素的Y值求取平均值;
第一判定单元,用于判断Y值的平均值是否逐渐变小,当是时则判定有物体向前置摄像头靠近。
所述的利用前置摄像头控制后置摄像头对焦及拍照的系统,其中,所述拍照摄像控制模块包括:
图像数据获取单元,用于获取前置摄像头感应的图像数据;
第二判定单元,用于判断图像中的所有像素的Y值是否均小于一第三阀值,当是时则判定前置摄像头被物体覆盖。
所述的利用前置摄像头控制后置摄像头对焦及拍照的系统,其中,第一判定单元包括:
差值判定子单元,用于判断上一帧图像中所有像素的Y值的平均值是否大于下一帧图像中所有像素的Y值的平均值+第一阀值,当是时,则判定有物体向前置摄像头靠近。
有益效果:本发明通过检测前置摄像头周围的光线亮度,通过光线亮度的变化及大小来判断是对后置摄像头进行对焦和拍照操作,即利用了前置摄像头的感应图像的功能实现了对焦和拍照的统一操作,方便了用户对后置摄像头的使用,简化了操作步骤,提升了操作速度、焦点容易控制,增加了新的功能,提升了用户的使用体验。
具体实施方式
本发明提供利用前置摄像头控制后置摄像头对焦及拍照的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种利用前置摄像头控制后置摄像头对焦及拍照的方法较佳实施例的流程图,如图所示,其包括步骤:
S101、当用户开启移动终端的相机功能时,同时打开前置摄像头和后置摄像头;
S102、通过前置摄像头感应的图像获取前置摄像头周围的光线亮度,并根据光线亮度判断是否有物体向前置摄像头靠近,当是时,控制后置摄像头进行对焦;
S103、根据光线亮度判断前置摄像头是否被物体覆盖,当是时,控制后置摄像头进行拍照或摄像。
在步骤S101中,用户开启移动终端的相机功能时,同时打开前置摄像头和后置摄像头,当然在本发明的移动终端中需要设置这两个摄像头,这在大部分智能手机上都已实现,即包含前置摄像头和后置摄像头。本发明即利用前置摄像头来控制后置摄像头进行对焦和拍照(或摄像)。
在步骤S102中,为了实现只需利用前置摄像头即可对后置摄像头进行控制,本发明通过对前置摄像头的光线亮度进行检测,即通过判断是否有物体接近前置摄像头来控制对焦,其具体包括以下步骤:
S201、获取前置摄像头感应的图像数据;前置摄像头会利用自己的摄像功能获取其感应的图像数据,在本发明中,前置摄像头所感应的图像的传输格式为YUV格式。YUV格式是一种颜色编码格式,其中,YUV格式图像数据中的Y值代表像素的亮度,通过分析Y值大小即可知道前置摄像头周围的光线亮度。所以只需根据图像数据中每一帧图像中的所有像素的Y值来判断前置摄像头周围的光线亮度。
S202、对每一帧图像中的所有像素的Y值求取平均值;此处即为计算每一帧图像所有像素的Y值进行平均值处理,此处的平均值优选为算术平均值,计算过程相对简单、计算量小、处理速度快。这样对每一帧图像的亮度即可有一个理论的数据。
S203、判断Y值的平均值是否逐渐变小,当是时则判定有物体向前置摄像头靠近,控制后置摄像头进行对焦。此处是判断Y值的平均值是否逐渐变小,即判断亮度是否逐渐变小,当是时,说明有物体,例如人手在靠近前置摄像头,那么此时可控制后置摄像头进行对焦操作,这样用户只需用手靠近前置摄像头即可实现对焦操作,当然也可利用其他物体靠近前置摄像头,使前置摄像头周围光线亮度变暗即可。
进一步,步骤S203还包括:
判断上一帧图像中所有像素的Y值的平均值是否大于下一帧图像中所有像素的Y值的平均值+第一阀值,当是时,则判定有物体向前置摄像头靠近。例如上一帧图像中所有像素的Y值的平均值为A,下一帧图像中所有像素的Y值的平均值为B,第一阀值为C,那么当A大于B+C时,即A需比B大C,才判定有物体向前置摄像头靠近。假设上一帧图像为第一帧,下一帧图像(当前帧)为第二帧,那么当前帧需比上一帧的所有像素的Y值要小第一阀值的大小。即当前帧图像中所有像素的Y值的平均值需要比上一帧图像中所有像素的Y值的平均值小第一阀值的大小,才判定有物体向前置摄像头靠近。
此处设置这样一个第一阀值,是为了让亮度变化只有在满足一定条件时,才判断其为由物体靠近,即相邻帧像素Y值的平均值的差值大于第一阀值(显然当前帧图像所有像素的Y值平均值需小于上一帧图像所有像素的Y值平均值),才进行对焦控制。
同时,在执行步骤S203之前,还需要判断Y值的平均值是否大于一个预定阀值,此预定阀值为启动本发明对焦功能的最小亮度,即如果环境太暗,使得一帧图像中所有像素Y值的平均值没有达到最小亮度以上,则无法启动对焦功能。
另外,还可设置一个第二阀值,只有在判断图像中所有像素的Y值的平均值小于第二阀值,同时满足前述的差值大于第一阀值的条件时,则判定有物体向前置摄像头靠近。这个第二阀值为对焦的启动值,只有满足小于这个第二阀值时,才能对焦。
在步骤S103中,需根据光线亮度判断前置摄像头是否被物体覆盖,然后根据判断结果控制后置摄像头进行拍照或摄像,具体来说,其包括步骤:
S301、获取前置摄像头感应的图像数据;
S302、判断图像中的所有像素的Y值是否均小于一第三阀值,当是时则判定前置摄像头被物体覆盖;
此步骤中,是判断Y值的平均值是否均小于一个第三阀值,例如判断Y值的平均值是否均等于0,即判断前置摄像头周围的光线亮度是否足够暗,只有在满足条件时,才判定有物体覆盖前置摄像头,在这样的条件下,可控制后置摄像头进行拍照或摄像。
在本发明中,对后置摄像头的对焦和拍照动作都只需要控制前置摄像头即可,例如靠近前置摄像头或者覆盖前置摄像头,而不需要像传统的方法:点击屏幕来控制对焦,以及按下拍照键来进行拍照等方法一样,所以本发明的操作非常简单,可实现与专业相机一样快速对焦、拍照,提升了用户的体验。
下面通过具体实施例来对本发明的流程进行具体说明。
如图4所示,其包括步骤:
S401、用户开启后置照相机功能触发前置摄像头开始检测周围光线亮度;
S402、获取前置摄像头感应到的一帧图像中所有像素的Y值的算术平均值并赋给L0;
S403、判断L0是否大于Lenable,如果是则执行步骤S404,否则返回执行步骤S402;其中,Lenable为启动本发明所述对焦功能的最小亮度(即前述的预定阀值),即如果环境太暗,使一帧图像中所有像素的Y值的算术平均值没有达到Lenable以上,则无法使用本发明所述对焦功能;
S404、获取前置摄像头感应到的一帧图像中所有像素的Y值的算术平均值并赋给L1;
S405、判断L0-L1是否大于Lnear,如果是则执行步骤S406,否则返回执行步骤S402;Lnear为第一阀值,只有当上一帧(前一帧)图像所有像素的Y值的算术平均值L0,比下一帧(后一帧)图像所有像素的Y值的算术平均值L1大Lnear以上才认为有物体向前置摄像头靠近;
S406、将L1的值赋给L0;
S407、判断L1是否小于Lfocus,如果是则执行步骤S408,否则返回执行步骤S404;Lfocus为第二阀值,只有当满足检测到物体向前置摄像头靠近,且某一帧图像所有像素的Y值的算术平均值小于Lfocus时,触发开启控制后置摄像头进行对焦;
S408、控制后置摄像头对焦;
S409、获取前置摄像头感应到的一帧图像中所有像素的Y值的算术平均值并赋给L1,之后执行步骤S410;
S410、判断L1是否小于Lfocus,如果是则执行步骤S411,否则返回执行步骤S402;
S411、对一帧图像中的所有像素的Y值进行判断,若整一帧图像的所有像素的满足Y=0,即只需判断L1是否等于0,则认为有物体完全覆盖住前置摄像头,并执行步骤S412,否则执行步骤S409;此处Y=0的条件即为第三阀值的判断条件。
S412、控制后置摄像头拍照。
在本实施例中,可设置前置摄像头的帧率为5帧/秒,以图像分辨率320*240为例计算一帧图像中所有像素的Y值的算术平均值的方法为例,如图3所示,其步骤包括:
S501、初始化变量i=0,j=0,L=0,之后执行步骤S502;
S502、判断i是否小于320,如果是则执行步骤S503,否则执行步骤S507;
S503、判断j是否小于240,如果是则执行步骤S505,否则执行步骤S504;
S504、i=i+1,之后执行步骤S502;
S505、L=(L+IMAGE[i][j])/2,其中,IMAGE[i][j]为图像的第i行第j列的像素点的Y值,之后执行步骤S506;
S506、j=j+1,之后执行步骤S503;
S507、将L赋给L0,L0即是一帧图像中所有像素的Y值的算术平均值;
基于上述方法,本发明还提供一种利用前置摄像头控制后置摄像头对焦及拍照的系统,如图4所示,其包括:
摄像头开启模块100,用于当用户开启移动终端的相机功能时,同时打开前置摄像头和后置摄像头;
对焦控制模块200,用于通过前置摄像头感应的图像获取前置摄像头周围的光线亮度,并根据光线亮度判断是否有物体向前置摄像头靠近,当是时,控制后置摄像头进行对焦;
拍照摄像控制模块300,用于根据前置摄像头周围的光线亮度判断前置摄像头是否被物体覆盖,当是时,控制后置摄像头进行拍照或摄像。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
进一步,所述对焦控制模块包括:
图像数据获取单元,用于获取前置摄像头感应的图像数据;
平均值计算单元,用于对每一帧图像中的所有像素的Y值求取平均值;
第一判定单元,用于判断Y值的平均值是否逐渐变小,当是时则判定有物体向前置摄像头靠近。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
进一步,所述拍照摄像控制模块包括:
图像数据获取单元,用于获取前置摄像头感应的图像数据;
第二判定单元,用于判断图像中的所有像素的Y值是否均小于一第三阀值,当是时则判定前置摄像头被物体覆盖。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
进一步,第一判定单元包括:
差值判定子单元,用于判断上一帧图像中所有像素的Y值的平均值是否大于下一帧图像中所有像素的Y值的平均值+第一阀值,当是时,则判定有物体向前置摄像头靠近。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
本发明中还提供一种利用前置摄像头控制后置摄像头对焦及拍照的系统实施例的结构示意图,如图5所示,其包括中央处理器20、后置摄像头10、前置摄像头30,其中前置摄像头30、后置摄像头10均连接于中央处理器20。如图6所示,在中央处理器20中设置有前置摄像头亮度检测模块21、前置摄像头覆盖检测模块22、后置摄像头对焦控制模块23、后置摄像头拍照控制模块24,其中的前置摄像头亮度检测模块21即用来检测前置摄像头周围的光线亮度,后置摄像头对焦控制模块23则用来根据检测到的光线亮度控制后置摄像头进行对焦,前置摄像头覆盖检测模块22即用来检测前置摄像头周围的光线亮度,然后后置摄像头拍照控制模块24则用来根据检测到的光线亮度控制后置摄像头进行拍照或摄像。其工作原理与前述的系统相似,故不再赘述。
综上所述,本发明通过检测前置摄像头周围的光线亮度,通过光线亮度的变化及大小来判断是对后置摄像头进行对焦和拍照操作,即利用了前置摄像头的感应图像的功能实现了对焦和拍照的统一操作,方便了用户对后置摄像头的使用,简化了操作步骤,提升了操作速度、焦点容易控制,增加了新的功能,提升了用户的使用体验。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。