发明内容
基于此,有必要针对上述技术问题,提供一种能够提高图像质量的摄像头遮挡状态检测方法、装置、终端和存储介质。
第一方面,本申请实施例提供一种摄像头遮挡状态检测方法,所述方法包括:
获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像;
采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码;
根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度;
根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
在其中一个实施例中,若所述副摄像头被遮挡,则输出提示信息。
在其中一个实施例中,所述根据所述主副汉明距离和所述副摄校准图像的色值,确定所述副摄像头是否被遮挡,包括:
若所述主副汉明距离大于预设的汉明距离阈值,则确定所述副摄像头被遮挡;
若所述主副汉明距离小于或等于所述汉明距离阈值,则根据所述副摄校准图像的色值,确定所述副摄像头是否被遮挡。
在其中一个实施例中,所述根据所述副摄校准图像的色值,确定所述副摄像头是否被遮挡,包括:
对所述副摄校准图像进行色彩空间转换,得到所述副摄校准图像的副摄色值图;其中,所述副摄色值图用于表征所述副摄校准图像的色值分布;
对所述副摄色值图进行肤色区域提取,得到至少一个连通的肤色子区域;
根据所述肤色子区域的面积,确定所述副摄像头是否被遮挡。
在其中一个实施例中,所述根据所述肤色子区域的面积,确定所述副摄像头是否被遮挡,包括:
判断每个所述肤色子区域在所述副摄校准图像中的面积占比是否小于预设的肤色占比阈值;
若是,则确定所述副摄像头未被遮挡;
若否,则获取所述肤色子区域的平均梯度,并根据所述平均梯度,确定所述副摄像头是否被遮挡。
在其中一个实施例中,所述根据所述平均梯度,确定所述副摄像头是否被遮挡,包括:
将面积占比超过所述肤色面积占比阈值的所述肤色子区域,作为目标肤色子区域;
获取每个所述目标肤色子区域的平均梯度;
若每个所述平均梯度大于或等于所述预设的梯度阈值,则确定所述副摄像头未被遮挡;
若存在所述平均梯度小于所述梯度阈值,则确定所述副摄像头被遮挡。
在其中一个实施例中,所述获取主摄校准图像和副摄校准图像,包括:
获取主摄原始图像和副摄原始图像;其中,所述主摄原始图像为所述主摄像头获取的图像,所述副摄原始图像为所述副摄像头获取的图像;
将所述副摄原始图像,按照所述主摄像头的相机参数和所述副摄像头的相机参数,进行拍摄视角校准,得到所述副摄校准图像;
将所述主摄原始图像作为所述主摄校准图像。
在其中一个实施例中,所述相机参数包括相机内参,所述将所述副摄原始图像,按照所述主摄像头的相机参数和所述副摄像头的相机参数,进行拍摄视角校准,得到所述副摄校准图像,包括:
根据所述副摄像头的相机内参、所述主摄像头向副摄像头的旋转矩阵、所述主摄像头的相机内参和所述副摄原始图像,确定所述副摄校准图像。
第二方面,本申请实施例提供一种摄像头遮挡状态检测装置,所述装置包括:
获取模块,用于获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像;
计算模块,用于采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码,并根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度;
确定模块,用于根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
第三方面,本申请实施例提供一种终端,包括主摄像头、副摄像头、存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像;
采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码;
根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度;
根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像;
采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码;
根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度;
根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
上述摄像头遮挡状态检测方法、装置、终端和存储介质,通过终端获取主摄校准图像和副摄校准图像,并采用压缩感知算法对这两个图像进行识别,从而得到表征主摄校准图像的特征的主摄图像哈希码和副摄校准图像特征的副摄图像哈希码。终端进一步计算主摄图像哈希吗和副摄图像哈希码之间的主副汉明距离,由于主副汉明距离能够表征主摄校准图像和副摄校准图像的差异度,因此终端就能够基于该主副汉明距离,准确的判断出副摄校准图像与主摄校准图像的差异大小,并进一步确定出副摄校准图像中是否存在肤色区域,从而准确判断出副摄像头是否被遮挡,因此大大提高了摄像头遮挡检测的准确率进而使得终端所拍摄的图像的质量大大提高。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的摄像头遮挡状态检测方法,可以适用于图1所示的终端。该终端至少包括主摄像头和副摄像头,还包括通过系统总线连接的处理器、存储器、网络接口、数据库、显示屏和输入装置。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端的数据库用于存储下述实施例中的主摄校准图像和副摄校准图像,有关主摄校准图像和副摄校准图像的具体描述参见下述实施例中的具体描述。该终端的网络接口可以用于与外部的其他设备通过网络连接通信。可选的,该终端可以是平板电脑、手机等等,本申请实施例对终端的具体形式并不做限定。该终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。当然,输入装置和显示屏也可以不属于终端的一部分,可以是终端的外接设备。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
需要说明的是,下述方法实施例的执行主体可以是摄像头遮挡状态检测装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为上述终端的部分或者全部。下述方法实施例以执行主体为终端为例进行说明。
图2为一个实施例提供的摄像头遮挡状态检测方法的流程示意图。本实施例涉及的是终端根据主副摄像头所拍摄的图像自动识别副摄像头是否被遮挡的具体过程。如图2所示,该方法包括:
S10、获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像。
具体的,终端可以读取存储设备中的主摄校准图像和副摄校准图像,也可以接收其他设备发送的主摄校准图像和副摄校准图像,也可以将副摄像头所拍摄的图像按照主摄像头的光轴进行校准或者视场角对齐,使得两个摄像头拍摄的图像的视野尽量一致,从而得到校准后的主摄校准图像和副摄校准图像。本实施例对终端获取主摄校准图像和副摄校准图像的方式不做限定。需要说明的是,上述终端至少包括主摄像头和副摄像头,上述主摄校准图像和副摄校准图像为显示的视野接近的图像。
S20、采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码。
具体的,终端可以分别对主摄校准图像和副摄校准图像采用压缩感知算法进行处理,并分别得到两个图像的哈希码,即Hash码。即对主摄校准图像采用压缩感知算法进行处理,得到表征主摄校准图像的特征的主摄图像哈希码;同时,终端还对副摄校准图像采用压缩感知算法进行处理,得到表征副摄校准图像的特征的副摄图像哈希码。
S30、根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度。
具体的,终端将主摄图像哈希码和副摄图像哈希码的对应位之间进行异或运算,并统计结果为1的数量,从而得到主摄图像哈希码和副摄图像哈希码之间的主副汉明距离,该主副汉明距离能够表征主摄校准图像和副摄校准图像之间的差异度。例如主副汉明距离越大,则表征主摄校准图像和副摄校准图像差别度越大;主副汉明距离越小,则表征主摄校准图像和副摄校准图像差别度越小。
S40、根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
具体的,终端可以将超过一定阈值的主副汉明距离所对应的副摄校准图像,确定为被遮挡的图像,由此确定副摄像头被遮挡;或者是将主副汉明距离超过一定阈值,并进一步判断副摄校准图像中的色值,例如是否存在连通的区域的色值属于遮挡物的色值的范围,如果存在,则确定副摄像头被遮挡;还可以是将副摄校准图像按照一定粒度的网格进行划分并按照色值进行统计,如果属于遮挡物色值范围的网格数量超过一定的数量,或者是属于遮挡物色值范围的网格的面积超过一定的值,或者是连接的属于遮挡物色值范围的网格超过一定的数量,则将这种情况确定为副摄像头被遮挡。反之,如果上述条件不成立,终端则确定副摄像头没有被遮挡。可选地,终端可以在副摄像头被遮挡的情况下对图像进行再次处理,例如降低遮挡区域的权重,以改善图像质量,或者提示用户移除遮挡物等。
本实施例中,终端获取主摄校准图像和副摄校准图像,并采用压缩感知算法对这两个图像进行识别,从而得到表征主摄校准图像的特征的主摄图像哈希码和副摄校准图像特征的副摄图像哈希码。终端进一步计算主摄图像哈希吗和副摄图像哈希码之间的主副汉明距离,由于主副汉明距离能够表征主摄校准图像和副摄校准图像的差异度,因此终端就能够基于该主副汉明距离,准确的判断出副摄校准图像与主摄校准图像的差异大小,并进一步确定出副摄校准图像中是否存在肤色区域,从而准确判断出副摄像头是否被遮挡,因此大大提高了摄像头遮挡检测的准确率,进而使得,及时排除遮挡,进而使得终端所拍摄的图像的质量大大提高,尤其是在副摄被大面积遮挡的情况下,采用该方法基于副摄校准图像与主摄校准图像的差异大小进行遮挡判断,结果更为准确和快速。该方法通过准确判断出副摄像头被遮挡的情况,从而能够使得在遮挡状态下对图像进行相应的处理,可以对图像采用相应的算法处理,例如对图像进行放大处理,或者升采样等操作,以提高双摄模式下所拍摄的图像的质量。
可选地,在上述是实施例的基础上,所述方法还包括:若所述副摄像头被遮挡,则输出提示信息。具体的,如果终端确定副摄像头被遮挡,则可以输出提示信息。例如在终端的显示屏显示遮挡提示图像,或者显示遮挡提示文字,还可以播放遮挡的提示音,或者驱动马达产生震动等,当然还可以是其他形式的提示信息,只要是能够对使用者进行提示即可,本实施例对提示信息的输出方式并不做限定。并且终端在副摄像头被遮挡的情况下输出提示信息,用于提示使用者当前的状态为副摄像头被遮挡,使用者就可以基于该提示信息,及时排除遮挡,进而使得终端所拍摄的图像的质量大大提高。
可选地,在上述实施例的基础上,上述步骤S40可以包括:若所述主副汉明距离大于预设的汉明距离阈值,则确定所述副摄像头被遮挡;若所述主副汉明距离小于或等于所述汉明距离阈值,则根据所述副摄校准图像的色值,确定所述副摄像头是否被遮挡。具体的,终端可以判断主副汉明距离是否大于预设的汉明距离阈值,如果大于,则可以确定主摄校准图像和副摄校准图像差别较大,此种情况为副摄像头被遮挡所导致的,因此可以确定此时副摄像头被遮挡;如果主副汉明距离小于或者等于上述汉明距离阈值,则终端可以确定主摄校准图像和副摄校准图像差别较小,此种情况下副摄像头并没有被遮挡。可选地,终端还可以在主副汉明距离小于或者等于上述汉明距离阈值的时候,进一步根据副摄校准图像的色值,确定副摄校准图像中是否存遮挡区域,以此进一步确定副摄像头是否被遮挡。可选地,通常可以采用T1表征汉明距离阈值,该T1的设置与上述主摄图像哈希码和副摄图像哈希码的长度有关,当主摄图像哈希码和副摄图像哈希码的长度都比较长的时候,T1则需要设置较大;当主摄图像哈希码和副摄图像哈希码的长度都比较短的时候,T1可以设置较小。本实施例中,终端通过判断主副汉明距离是否大于预设的汉明距离阈值,并且在主副汉明距离大于汉明距离阈值时,直接确定主摄校准图像和副摄校准图像差别较大,进而确定副摄像头存在遮挡,该方法能够基于哈希码快速判断出副摄像头存在遮挡的情况,因此判断效率高。同时终端在主副汉明距离小于或等于汉明距离阈值时,即主摄校准图像和副摄校准图像差别较小的时候,采用副摄校准图像的色值确定图像中是否存在遮挡物的区域,进而能够准确的判断出存在小面积遮挡的情况,因此更为精细的检测到摄像头的遮挡状态,使得检测结果的准确性更高,同时避免副摄像头被小面积遮挡所导致的拍摄图像质量不佳的情况,因此进一步提高了终端拍摄图像的质量。
可选地,上述实施例中的步骤中“根据所述副摄校准图像的色值,确定所述副摄像头是否被遮挡”具体可以如图3所示,包括:
S41、对所述副摄校准图像进行色彩空间转换,得到所述副摄校准图像的副摄色值图;其中,所述副摄色值图用于表征所述副摄校准图像的色值分布。
具体的,终端可以对上述副摄校准图像进行色彩空间转换,即将副摄校准图像转换到YCrCb颜色空间,得到副摄校准图像的副摄色值图,该副摄色值图能够表征副摄校准图像的色值分布,即能够表征副摄校准图像中每一处的色值。
S42、对所述副摄色值图进行肤色区域提取,得到至少一个连通的肤色子区域。
具体的,终端对上述副摄色值图进行肤色区域提取,例如将副摄色值图中色值处于肤色色值范围的像素点进行提取,从而得到至少一个连通的肤色子区域。其中肤色区域表征该图像中由于使用者手部遮挡导致的图像色值与其他区域不同,呈现皮肤的色值范围的区域。可以认为,所提取得到的肤色子区域,是由于遮挡物的遮挡所导致的成像结果,可选地,该遮挡物可能为人的手指,因此呈现人的皮肤的肤色。
S43、根据所述肤色子区域的面积,确定所述副摄像头是否被遮挡。
具体的,终端可以根据上述肤色子区域的面积的大小,确定副摄像头是否存在遮挡,例如是当肤色子区域的面积超过一定的面积,则确定副摄像头被遮挡,当肤色子区域面积小于一定的面积,则确定副摄像头没有被遮挡;也可以是终端根据上述肤色子区域在副摄校准图像中所占的面积比值,确定副摄像头是否被遮挡,当肤色子区域面积在副摄校准图像中占比超过一定的阈值,则确定副摄像头被遮挡,当肤色子区域面积在副摄校准图像中占比小于一定的阈值,则确定副摄像头没有被遮挡;还可以是当肤色子区域面积在副摄校准图像中占比大于一定的阈值的时候,结合肤色子区域中的平均梯度确定副摄像头是否被遮挡。如果副摄像头没有被遮挡,则肤色子区域会存在明显的文理,因此导致平均梯度较大;如果副摄像头被遮挡,则肤色子区域是手指等遮挡所造成,不会存在明显的文理,因此导致平均梯度较小。
可选地,本步骤S43的一种可能的实现方式可以包括:判断每个所述肤色子区域在所述副摄校准图像中的面积占比是否小于预设的肤色占比阈值;若是,则确定所述副摄像头未被遮挡;若否,则获取所述肤色子区域的平均梯度,并根据所述平均梯度,确定所述副摄像头是否被遮挡。具体的,终端逐一判断每个肤色子区域在副摄校准图像中的面积占比是否小于预设的肤色占比阈值,如果每个肤色子区域在副摄校准图像中的面积占比均小于肤色占比阈值,则终端可以确定副摄像头没有被遮挡,该方法能够基于肤色子区域的面积,快速准确的确定出副摄像头被遮挡的情况,提高了检测效率和准确率。如果存在肤色子区域在副摄校准图像中的面积占比大于或者等于肤色占比阈值,则终端可以根据在副摄校准图像中的面积占比大于或等于肤色占比阈值的肤色子区域,求取其平均梯度,并根据平均梯度进一步确定副摄像头是否被遮挡,进而能够结合平均梯度进行检测,使得检测结果更加准确。
可选地,在上述实施例的基础上,步骤“根据所述平均梯度,确定所述副摄像头是否被遮挡”还可以包括:将面积占比超过所述肤色面积占比阈值的所述肤色子区域,作为目标肤色子区域;获取每个所述目标肤色子区域的平均梯度;若每个所述平均梯度大于或等于所述预设的梯度阈值,则确定所述副摄像头未被遮挡;若存在所述平均梯度小于所述梯度阈值,则确定所述副摄像头被遮挡。具体的,终端将肤色子区域中的面积在副摄校准图像中的面积占比超过面积占比阈值的区域进行筛选,得到目标肤色子区域,然后根据每个目标肤色子区域的平均梯度确定副摄像头是否被遮挡。具体包括:终端计算每个目标肤色区域的平均梯度,如果每个目标肤色子区域的平均梯度都大于或者等于预设的梯度阈值,则可以判定副摄像头没有被遮挡;如果存在至少一个平均梯度小于梯度阈值,则表明该目标肤色子区域内无纹理,属于平滑区域,可以判定副摄像头被遮挡。本实施例中,终端可以根据肤色子区域在副摄校准图像中的面积占比筛选得到目标肤色子区域,并在目标肤色子区域的平均梯度均大于或者等于梯度阈值的时候,确定副摄像头无遮挡;在目标肤色子区域的平均梯度存在小于梯度阈值的情况下,确定副摄像头无遮挡,判断副摄像头是否存在遮挡,从而能够结合每个目标肤色子区域的平均梯度进行副摄像头的遮挡判定,该方法能够真实反映副摄校准图像中的图像的变化趋势,因此使得检测结果更为准确。
可选地,在上述各个实施例的基础上,上述步骤S10的一种可能的实现方式还可以参见图4所示,包括:
S11、获取主摄原始图像和副摄原始图像;其中,所述主摄原始图像为所述主摄像头获取的图像,所述副摄原始图像为所述副摄像头获取的图像。
具体的,终端可以通过主摄像头拍摄主摄原始图像,还可以通过副摄像头拍摄副摄原始图像。
S12、将所述副摄原始图像,按照所述主摄像头的相机参数和所述副摄像头的相机参数进行拍摄视角校准,得到所述副摄校准图像。
S13、将所述主摄原始图像作为所述主摄校准图像。
具体的,终端设备将主摄原始图像作为主摄校准图像,并以主摄原始图像为基准,将副摄原始图像按照主摄像头的相机参数和副摄像头的相机参数之间的差异进行拍摄视角校准,即光轴矫正,从而使得副摄校准图像。主摄像头的相机参数和副摄像头的相机参数的差异可以采用旋转矩阵的形式表征,当然也可以采用参数补偿的方式,例如对某个相机参数叠加一个补偿值,对此本实施例不做限定可选地,可以参见图4a所示图像的矫正前后视野示意图。
可选地,上述相机参数可以包括相机内参,终端可以根据所述副摄像头的相机内参、所述主摄像头向副摄像头的旋转矩阵、所述主摄像头的相机内参和所述副摄原始图像,确定所述副摄校准图像。例如将副摄像头的相机内参、主摄像头向副摄像头的旋转矩阵的导数、所述主摄像头的相机内参的导数和副摄原始图像,作为副摄校准图像。具体可以采用公式或者该公式的变形得到,其中,UR为作为副摄像头的位于右边的摄像头所得到的副摄原始图像,KR为副摄像头的相机内参,R为主摄像头向副摄像头的旋转矩阵,KL为作为主摄像头的位于左边的摄像头的相机内参。其中,主摄像头和副摄像头那一个位于左边或者右边对此本实施例并不做限定。采用上述方法得到的副摄校准图像,能够准确得到与主摄校准图像保持近似的视野,因此易于进行对比,能够使得检测结果更为准确。
本实施例中,将所述副摄原始图像基于副摄原始图像,按照主摄像头的相机参数和副摄像头的相机参数进行拍摄视角校准,得到副摄校准图像,同时将主摄原始图像作为主摄校准图像,从而得到视野接近的主摄校准图像和副摄校准图像,进而使得后续的处理能够基于一个准确的对比对象,因此所得到的检测结果也更为准确。可选地,终端还可以根据副摄像头的相机内参、旋转矩阵、主摄像头的相机内参和主摄原始图像,确定所述主摄校准图像。终端还可以采用相同的方法,将主摄原始图像按照旋转矩阵向副摄原始图像进行旋转,得到主摄校准图像,并将副摄原始图像作为副摄校准图像,对此本申请实施例不做限定,只要是能够得到两个视野近似的图像即可,其实现原理和技术效果类似。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种摄像头遮挡状态检测装置,包括:
获取模块100,用于获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像;
计算模块200,用于采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码,并根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度;
确定模块300,用于根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
在一个实施例中,确定模块300,还用于当所述副摄像头被遮挡时,输出提示信息。
在一个实施例中,确定模块300,具体用于当所述主副汉明距离大于预设的汉明距离阈值时,则确定所述副摄像头被遮挡;当所述主副汉明距离小于或等于所述汉明距离阈值时,则根据所述副摄校准图像的色值,确定所述副摄像头是否被遮挡。
在一个实施例中,确定模块300,具体用于对所述副摄校准图像进行色彩空间转换,得到所述副摄校准图像的副摄色值图;其中,所述副摄色值图用于表征所述副摄校准图像的色值分布;对所述副摄色值图进行肤色区域提取,得到至少一个连通的肤色子区域;根据所述肤色子区域的面积,确定所述副摄像头是否被遮挡。
在一个实施例中,确定模块300,具体用于判断每个所述肤色子区域在所述副摄校准图像中的面积占比是否小于预设的肤色占比阈值;若是,则确定所述副摄像头未被遮挡;若否,则获取所述肤色子区域的平均梯度,并根据所述平均梯度,确定所述副摄像头是否被遮挡。
在一个实施例中,确定模块300,具体用于将面积占比超过所述肤色面积占比阈值的所述肤色子区域,作为目标肤色子区域;获取每个所述目标肤色子区域的平均梯度;若每个所述平均梯度大于或等于所述预设的梯度阈值,则确定所述副摄像头未被遮挡;若存在所述平均梯度小于所述梯度阈值,则确定所述副摄像头被遮挡。
在一个实施例中,获取模块100,具体用于获取主摄原始图像和副摄原始图像;其中,所述主摄原始图像为所述主摄像头获取的图像,所述副摄原始图像为所述副摄像头获取的图像;将所述副摄原始图像,按照所述主摄像头的相机参数和所述副摄像头的相机参数进行拍摄视角校准,得到所述副摄校准图像;将所述主摄原始图像作为所述主摄校准图像。
在一个实施例中,所述相机参数包括相机内参,获取模块100,具体用于根据所述副摄像头的相机内参、所述主摄像头向副摄像头的旋转矩阵、所述主摄像头的相机内参和所述副摄原始图像,确定所述副摄校准图像。
关于摄像头遮挡状态检测装置的具体限定可以参见上文中对于摄像头遮挡状态检测方法的限定,在此不再赘述。上述摄像头遮挡状态检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端中的处理器中,也可以以软件形式存储于终端中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种终端,包括主摄像头、副摄像头,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像;
采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码;
根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度;
根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若所述副摄像头被遮挡,则输出提示信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若所述主副汉明距离大于预设的汉明距离阈值,则确定所述副摄像头被遮挡;
若所述主副汉明距离小于或等于所述汉明距离阈值,则根据所述副摄校准图像的色值,确定所述副摄像头是否被遮挡。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对所述副摄校准图像进行色彩空间转换,得到所述副摄校准图像的副摄色值图;其中,所述副摄色值图用于表征所述副摄校准图像的色值分布;
对所述副摄色值图进行肤色区域提取,得到至少一个连通的肤色子区域;
根据所述肤色子区域的面积,确定所述副摄像头是否被遮挡。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
判断每个所述肤色子区域在所述副摄校准图像中的面积占比是否小于预设的肤色占比阈值;
若是,则确定所述副摄像头未被遮挡;
若否,则获取所述肤色子区域的平均梯度,并根据所述平均梯度,确定所述副摄像头是否被遮挡。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将面积占比超过所述肤色面积占比阈值的所述肤色子区域,作为目标肤色子区域;
获取每个所述目标肤色子区域的平均梯度;
若每个所述平均梯度大于或等于所述预设的梯度阈值,则确定所述副摄像头未被遮挡;
若存在所述平均梯度小于所述梯度阈值,则确定所述副摄像头被遮挡。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取主摄原始图像和副摄原始图像;其中,所述主摄原始图像为所述主摄像头获取的图像,所述副摄原始图像为所述副摄像头获取的图像;
将所述副摄原始图像,按照所述主摄像头的相机参数和所述副摄像头的相机参数进行拍摄视角校准,得到所述副摄校准图像;
将所述主摄原始图像作为所述主摄校准图像。
在一个实施例中,所述相机参数包括相机内参,处理器执行计算机程序时还实现以下步骤:
根据所述副摄像头的相机内参、所述主摄像头向副摄像头的旋转矩阵、所述主摄像头的相机内参和所述副摄原始图像,确定所述副摄校准图像。
应当清楚的是,本申请实施例中处理器执行计算机程序的过程,与上述方法中各个步骤的执行过程一致,具体可参见上文中的描述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取主摄校准图像和副摄校准图像;其中,所述主摄校准图像为基于主摄像头的拍摄视角所拍摄且进行校准后所得到的图像;所述副摄校准图像为基于副摄像头的拍摄视角所拍摄且进行校准所述得到的图像;
采用压缩感知算法对所述主摄校准图像和所述副摄校准图像进行处理,得到所述主摄校准图像的主摄图像哈希码和所述副摄校准图像的副摄图像哈希码;
根据所述主摄图像哈希码和所述副摄图像哈希码,确定主副汉明距离;其中,所述主副汉明距离用于表征所述主摄校准图像和所述副摄校准图像的差异度;
根据所述主副汉明距离,确定所述副摄像头是否被遮挡。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若所述副摄像头被遮挡,则输出提示信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若所述主副汉明距离大于预设的汉明距离阈值,则确定所述副摄像头被遮挡;
若所述主副汉明距离小于或等于所述汉明距离阈值,则根据所述副摄校准图像的色值,确定所述副摄像头是否被遮挡。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对所述副摄校准图像进行色彩空间转换,得到所述副摄校准图像的副摄色值图;其中,所述副摄色值图用于表征所述副摄校准图像的色值分布;
对所述副摄色值图进行肤色区域提取,得到至少一个连通的肤色子区域;
根据所述肤色子区域的面积,确定所述副摄像头是否被遮挡。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
判断每个所述肤色子区域在所述副摄校准图像中的面积占比是否小于预设的肤色占比阈值;
若是,则确定所述副摄像头未被遮挡;
若否,则获取所述肤色子区域的平均梯度,并根据所述平均梯度,确定所述副摄像头是否被遮挡。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将面积占比超过所述肤色面积占比阈值的所述肤色子区域,作为目标肤色子区域;
获取每个所述目标肤色子区域的平均梯度;
若每个所述平均梯度大于或等于所述预设的梯度阈值,则确定所述副摄像头未被遮挡;
若存在所述平均梯度小于所述梯度阈值,则确定所述副摄像头被遮挡。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取主摄原始图像和副摄原始图像;其中,所述主摄原始图像为所述主摄像头获取的图像,所述副摄原始图像为所述副摄像头获取的图像;
将所述副摄原始图像,按照所述主摄像头的相机参数和所述副摄像头的相机参数进行拍摄视角校准,得到所述副摄校准图像;
将所述主摄原始图像作为所述主摄校准图像。
在一个实施例中,所述相机参数包括相机内参,计算机程序被处理器执行时还实现以下步骤:
根据所述副摄像头的相机内参、所述主摄像头向副摄像头的旋转矩阵、所述主摄像头的相机内参和所述副摄原始图像,确定所述副摄校准图像。
应当清楚的是,本申请实施例中处理器执行计算机程序的过程,与上述方法中各个步骤的执行过程一致,具体可参见上文中的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。