图像处理方法、装置、计算机可读存储介质和电子设备与流程

文档序号:16064534发布日期:2018-11-24 12:32阅读:213来源:国知局

本申请涉及计算机技术领域,特别是涉及一种图像处理方法、装置、计算机可读存储介质和电子设备。

背景技术

在互联网时代,要实现信息的通信和共享,都需要对数据进行传输,因此数据的传输是极其频繁和重要的。然而数据通常都是通过通用的数据传输通道进行传输的,因此数据在传输过程中是极易被截获的。数据一旦被泄露,就会存在极大的安全隐患。



技术实现要素:

本申请实施例提供一种图像处理方法、装置、计算机可读存储介质和电子设备,可以提高图像处理的安全性。

一种图像处理方法,包括:

若检测到图像采集指令,则获取发起所述图像采集指令的目标应用程序所对应的精度级别;

根据所述精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像;所述散斑图像是通过激光摄像头采集的激光散斑照射到物体上所形成的图像;

将所述目标图像发送给所述目标应用程序。

一种图像处理装置,包括:

精度获取模块,用于若检测到图像采集指令,则获取发起所述图像采集指令的目标应用程序所对应的精度级别;

图像调整模块,用于根据所述精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像;所述散斑图像是通过激光摄像头采集的激光散斑照射到物体上所形成的图像;

图像发送模块,用于将所述目标图像发送给所述目标应用程序。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

若检测到图像采集指令,则获取发起所述图像采集指令的目标应用程序所对应的精度级别;

根据所述精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像;所述散斑图像是通过激光摄像头采集的激光散斑照射到物体上所形成的图像;

将所述目标图像发送给所述目标应用程序。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行如下步骤:

若检测到图像采集指令,则获取发起所述图像采集指令的目标应用程序所对应的精度级别;

根据所述精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像;所述散斑图像是通过激光摄像头采集的激光散斑照射到物体上所形成的图像;

将所述目标图像发送给所述目标应用程序。

上述图像处理方法、装置、计算机可读存储介质和电子设备,在检测到图像采集指令时,可以获取发起图像采集指令的目标应用程序所对应的精度级别。然后根据精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像。最后将目标图像发送给目标应用程序。这样可以对不同的目标应用程序发送不同精度的目标图像,应用等级低的目标应用程序,得到的目标图像的精度也比较低,可以保证发送的目标图像的安全性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中图像处理方法的应用场景图;

图2为一个实施例中图像处理方法的流程图;

图3为另一个实施例中图像处理方法的流程图;

图4为一个实施例中计算深度信息的原理图;

图5为又一个实施例中图像处理方法的流程图;

图6为又一个实施例中图像处理方法的流程图;

图7为一个实施例中实现图像处理方法的硬件结构图;

图8为另一个实施例中实现图像处理方法的硬件结构图;

图9为一个实施例中实现图像处理方法的软件架构示意图;

图10为一个实施例中图像处理装置的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。

图1为一个实施例中图像处理方法的应用场景图。如图1所示,该应用场景中包括电子设备104,电子设备104中可安装摄像头模组,还可以安装若干个应用程序。应用程序可发起获取图像的图像采集指令,当电子设备104检测到图像采集指令时,可以获取发起图像采集指令的目标应用程序所对应的应用等级,并根据应用等级获取对应的精度级别。根据精度级别调整采集的散斑图像102中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像,散斑图像102是通过激光摄像头采集的激光散斑照射到物体上所形成的图像。最后将目标图像发送给目标应用程序。其中,电子设备104可为智能手机、平板电脑、个人数字助理、穿戴式设备等。

图2为一个实施例中图像处理方法的流程图。如图2所示,该图像处理方法包括步骤202至步骤206。其中:

步骤202,若检测到图像采集指令,则获取发起图像采集指令的目标应用程序所对应的精度级别。

电子设备上可以安装摄像头,并通过安装的摄像头获取图像。摄像头可以根据获取的图像的不同分为激光摄像头、可见光摄像头等类型,激光摄像头可以获取激光照射到物体上所形成的图像,可见光图像可以获取可见光照射到物体上所形成的图像。电子设备上可以安装若干个摄像头,且安装的位置不做限定。例如,可以在电子设备的正面面板上安装一个摄像头,在背面面板上安装两个摄像头,摄像头还可以以内嵌的方式安装于电子设备的内部,然后通过旋转或滑动的方式打开摄像头。具体地,电子设备上可安装前置摄像头和后置摄像头,前置摄像头和后置摄像头可以从不同的视角获取图像,一般前置摄像头可以从电子设备的正面视角获取图像,后置摄像头可以从电子设备的背面视角获取图像。

电子设备中可安全若干个应用程序,应用程序是指电子设备中针对某种应用目的所撰写的软体,电子设备可以通过应用程序实现对用户的需求服务。例如,用户可以通过游戏类应用程序玩游戏,也可以通过支付类应用程序进行交易支付,还可以通过音乐类应用程序播放音乐等。当应用程序需要采集图像的时候,会发起图像采集指令,电子设备会根据图像采集指令调用摄像头模组,采集图像。图像采集指令是指用于触发图像采集操作的指令。例如,当用户要拍摄的时候,可用户可以点击拍照按钮,电子设备识别到拍照按钮被按下时,就会生成图像采集指令,从而调用摄像头模组采集图像。当用户需要通过人脸进行支付验证的时候,用户可以点击支付按钮,并将脸部对准摄像头进行拍摄,电子设备采集到人脸之后可以进行支付验证。

应用程序在发起图像采集指令时,可以在图像采集指令中写入用于唯一标识一个应用程序的应用标识。电子设备在检测到图像采集指令时,就可以根据应用标识查找对应的应用等级。应用程序也可以直接将应用等级写入到图像采集指令中,电子设备在检测到图像采集指令时,就可以直接获取图像采集指令中的应用等级。应用等级是指应用程序的重要程度,例如可将应用程序分为系统安全类应用、系统非安全类应用、第三方安全类应用和第三方非安全类应用,对应的应用等级逐渐降低。可以在电子设备中预先存储应用等级和精度级别的对应关系,根据应用等级就可以获取对应的精度级别。

步骤204,根据精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像;散斑图像是通过激光摄像头采集的激光散斑照射到物体上所形成的图像。

当检测到图像采集指令时,可以打开镭射灯和激光摄像头,镭射灯形成的激光散斑可以照射到物体上,然后通过激光摄像头来采集的激光散斑照射到物体上所形成的散斑图像。具体的,当激光照射在平均起伏大于波长数量级的光学粗糙表面上时,这些表面上分布的面元散射的子波相互叠加使反射光场具有随机的空间光强分布,呈现出颗粒状的结构,这就是激光散斑。形成的激光散斑中包含若干个激光散斑点,因此通过激光摄像头采集的散斑图中也包含若干个散斑点,例如散斑图像中可包括30000个散斑点。形成的激光散斑具有高度随机性,因此不同的激光发射器发射出来的激光所生成的激光散斑不同。当形成的激光散斑照射到不同深度和形状的物体上时,生成的散斑图像是不一样的。通过不同的激光发射器形成的激光散斑具有唯一性,从而得到的散斑图像也具有唯一性。

具体地,电子设备的cpu(centralprocessingunit,中央处理器)可以接收来自上层应用程序的指令。当cpu接收到图像采集指令时,就可以控制摄像头模组进行工作,通过摄像头模组采集红外图像和散斑图像。摄像头模组中可以但不限于包括激光摄像头、镭射灯和泛光灯。cpu会控制镭射灯和泛光灯进行分时工作,当镭射灯开启时,控制激光摄像头采集散斑图像;当泛光灯开启时,控制激光摄像头采集红外图像。

电子设备可以根据采集的散斑图像计算物体到摄像头的深度信息,散斑图像中包含的散斑点越多,计算得到的深度信息的精度越准确。镭射灯可以发射出若干个激光散斑点,激光散斑点照射到不同距离的物体上时,在图像上所呈现的斑点位置不同。电子设备可以预先采集一个标准的参考图像,参考图像是激光散斑照射到平面上所形成的图像。所以参考图像上的散斑点一般是均匀分布的,然后建立该参考图像中每一个散斑点与参考深度的对应关系。当需要采集散斑图像时,控制镭射灯发出激光散斑,激光散斑照射到物体上之后,通过激光摄像头采集得到散斑图像。然后将散斑图像中的每一个散斑点与参考图像中的散斑点进行比较,获取散斑图像中的散斑点相对于参考图像中对应的散斑点的位置偏移量,并散斑点的位置偏移量与参考深度来获取散斑点对应的实际深度信息。

摄像头采集的红外图像与散斑图像是对应的,散斑图像可以用于计算红外图像中每一个像素点对应的深度信息。这样可以通过红外图像对人脸进行检测和识别,根据散斑图像可以计算得到人脸对应的深度信息。具体地,根据散斑图像计算深度信息的过程中,首先要根据散斑图像相对与参考图像的散斑点的位置偏移量计算相对深度,相对深度可以表示实际拍摄物体到参考平面的深度信息。然后再根据获取的相对深度和参考深度计算物体的实际深度信息。深度图像用于表示红外图像对应的深度信息,可以是表示的物体到参考平面的相对深度,也可以是物体到摄像头的绝对深度。

根据精度级别调整散斑图像中包含的散斑点的个数,可以通过软件的方式进行调整,也可以通过硬件的方式进行调整。软件方式调整时,可直接检测采集的散斑图中的散斑点,并将部分散斑点进行合并或消除处理,这样调整后的散斑图中包含的散斑点的数量就减少了。硬件方式调整时,可以调整镭射灯衍射生成的激光散斑点的个数。例如,将散斑图像中包含的散斑点从30000个调整为20000个,这样对应计算得到的深度图像的精度就会相应地降低。电子设备根据精度级别调整散斑图像中包含的散斑点的个数之后,会根据调整后的散斑图像获取目标图像。目标图像可以是调整后的散斑图像,也可以是根据调整后的散斑图像计算得到的深度图像。

步骤206,将目标图像发送给目标应用程序。

获取到目标图像之后,可以根据应用标识查找对应的目标应用程序,并将目标图像发送给目标应用程序。目标应用程序可以根据目标图像进行支付、解锁、美颜、ar(augmentedreality,增强现实技术)等应用操作。

上述实施例提供的图像处理方法,在检测到图像采集指令时,可以获取发起图像采集指令的目标应用程序所对应的应用等级,并根据应用等级获取对应的精度级别。然后根据精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像。最后将目标图像发送给目标应用程序。这样可以对不同的目标应用程序发送不同精度的目标图像,应用等级低的目标应用程序,得到的目标图像的精度也比较低,这样可以保证发送的目标图像的安全性。

图3为另一个实施例中图像处理方法的流程图。如图3所示,该图像处理方法包括步骤302至步骤310。其中:

步骤302,若检测到图像采集指令,则获取发起图像采集指令的目标应用程序所对应的应用等级,并获取图像采集指令对应的应用操作的安全等级。

应用操作是指应用程序需要完成的操作,用户打开应用程序后,可以通过应用程序完成不同的应用操作。例如,应用操作可以是支付操作、拍摄操作、解锁操作、游戏操作等。应用操作的安全等级是指应用操作对安全性要求的等级。例如,支付操作对数据处理的安全性要求比较高,那么支付操作对应的安全等级就比较高;拍摄操作对数据处理的安全性要求比较低,那么拍摄操作对应的安全等级就比较低。

具体地,应用程序在发起图像采集指令时,可以在图像采集指令中写入操作标识,该操作标识用于对应用操作进行唯一标示。例如,支付操作对应的操作标识为“pay”,拍摄操作对应的操作标识为“photo”。电子设备可以根据图像采集指令中包含的应用标识获取对应的应用等级,并根据操作标识获取对应的安全等级。

步骤304,根据应用等级和安全等级获取精度级别。

在一个实施例中,根据目标应用程序的应用等级和应用操作的安全等级获取精度级别,目标应用程序的应用等级越高,应用操作的安全等级越高,对应的精度级别越高。具体地,可以将应用程序划分为多个应用等级,每一个应用等级对应一个第一精度权值。应用操作也可以划分为多个安全等级,每一个安全等级对应一个第二精度权值。获取到目标应用程度的应用等级和安全等级之后,可以获取应用等级对应的第一精度权值,以及安全等级对应的第二精度权值,并根据第一精度权值和第二精度权值计算精度权值,再确定精度权值所落入的精度级别。

举例来说,应用程序的应用等级可以分为五个等级,应用等级从低到高所对应的第一精度权值分别为0.2、0.4、0.6、0.8、1。应用操作分为四个安全等级,安全等级从低到高对应的第二精度权值分别为0.25、0.5、0.75、1。精度级别可分为3个等级,精度级别从低到高所对应的精度权值分别为0~0.4、0.4~0.8、0.8~1。根据第一精度权值(a)和第二精度权值(b)计算精度权值(d)的计算公式为:d=0.5*a+0.5*b。假设目标应用程序的应用等级为3级,对应的应用操作的安全等级为2级,那么得到的第一精度权值就为0.6,第二精度权值就为0.5。计算得到的精度权值就为0.5*0.6+0.5*0.5=0.55,则对应的精度级别就为2级。

步骤306,根据精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像。

电子设备可包括第一处理单元、摄像头模组和第二处理单元,第一处理单元在第一安全环境下运行,第二处理单元在第二安全环境下运行,第一处理单元分别与摄像头模组和第二处理单元相连,摄像头模组与第二处理单元相连。应用程序发起的图像采集指令可以发送给第一处理单元,第一处理单元检测到图像采集指令之后,可以根据图像采集指令控制摄像头模组采集散斑图像,并将采集的散斑图像发送给第二处理单元。第二处理单元会根据散斑图像计算视差图像,并将散斑图像和视差图像发送给第一处理单元。第一处理单元再根据视差图像对散斑图像进行校正,并根据校正后的散斑图像获取目标图像,将目标图像发送给目标应用程序。

具体地,摄像头模组中可以但不限于包括激光摄像头、镭射灯和泛光灯。当第一处理单元接收到图像采集指令时,第一处理单元会控制镭射灯和泛光灯进行分时工作,当镭射灯开启时,通过激光摄像头采集散斑图像;当泛光灯开启时,通过激光摄像头采集红外图像。视差图像用于表示图像采集过程中产生的误差,可包括红外视差图像和散斑视差图像,红外视差图像用于对红外图像进行校正,散斑视差图像用于对散斑图像进行校正。例如,激光摄像头产生偏转,那么获取的散斑图像就需要对该偏转产生的误差进行校正,得到标准的散斑图像。

可以理解的是,摄像头采集的红外图像和散斑图像是对应的,根据散斑图像可以计算红外图像对应的深度信息。摄像头如果是分时采集红外图像和散斑图像的话,就必须保证采集红外图像和散斑图像的时间间隔非常短,才能保证红外图像和散斑图像的一致性。即采集红外图像的第一时刻与采集散斑图像的第二时刻之间的时间间隔小于第一阈值。第一阈值一般是一个比较小的值,可以根据被拍摄物体的变化规律进行调整。被拍摄物体的变化越快,对应获取的第一阈值越小。假设被拍摄物体长时间处于静止状态的话,该第一阈值就可以设置为一个较大的值。具体的,获取被拍摄物体的变化速度,根据该变化速度获取对应的第一阈值。

具体地,电子设备可分别设置泛光灯控制器和镭射灯控制器,第一处理单元通过两路pwm分别连接泛光灯控制器和镭射灯控制器,当第一处理单元需要控制泛光灯开启或镭射灯开启时,可通过pwm向泛光灯控制器发射脉冲波控制泛光灯开启或向镭射灯控制器发射脉冲波控制镭射灯开启,通过pwm分别向两个控制器发射脉冲波来控制采集红外图像和散斑图像之间的时间间隔。采集到的红外图像和散斑图像之间的时间间隔低于第一阈值,可保证采集到的红外图像和散斑图像的一致性,避免红外图像和散斑图像之间存在较大的误差,提高了对图像处理的准确性。

举例来说,当手机需要通过人脸进行认证解锁时,用户可以点击解锁键发起解锁指令,并将前置摄像头对准脸部进行拍摄。手机会将解锁指令发送到第一处理单元,第一处理单元再控制摄像头进行工作。首先通过第一摄像头模组采集红外图像,间隔1毫秒时间后,再控制第二摄像头模组采集散斑图像,并通过采集的红外图像和散斑图像进行认证解锁。

在一个实施例中,对不同的目标应用程序,发送不同精度的散斑图像。调整散斑图像中包含的散斑点个数的方法具体包括:根据精度级别调整镭射灯衍射生成的激光散斑中包含的散斑点的个数,并通过激光摄像头采集激光散斑照射到物体上所形成的散斑图像;或,通过激光摄像头采集预设的激光散斑照射到物体上所形成的散斑图像,并根据精度级别调整散斑图像中包含的散斑点的个数。可在镭射灯中预置不同的衍射光学元件(diffractiveopticalelements,doe),其中不同doe衍射形成的散斑点的个数不同。根据精度级别切换不同的doe进行衍射生成散斑图像,并根据得到的散斑图像得到不同精度的深度图。当精度级别较高时,镭射灯可控制散斑点个数较多的doe来发射激光散斑,从而获取散斑点个数较多的散斑图像;当精度级别较低时镭射灯可控制散斑点个数较少的doe来发射激光散斑,从而获取散斑点个数较少的散斑图像。

具体地,若是通过镭射灯调节散斑点个数的,则第一处理单元会根据接收到的图像采集指令获取精度级别,并根据精度级别切换不同的doe,从而调整镭射灯衍射生成的激光散斑中包含的散斑点的个数,并通过激光摄像头采集激光散斑照射到物体上所形成的散斑图像。若是通过软件方式调整散斑点个数的,则第一处理单元根据视差图像对散斑图像进行校正得到校正散斑图像后,会根据精度级别调整校正散斑图像中包含的散斑点个数。

获取目标图像的方法具体包括:根据调整后的散斑图像计算得到深度图像,将深度图像作为目标图像;或,将调整后的散斑图像作为目标图像。具体地,电子设备会预先对激光散斑进行标定得到一张参考图像,并将参考图像存储在电子设备中。一般地,参考图像是将激光散斑照射到一个参考平面而形成的,参考图像也是一张带有若干个参考散斑点的图像,每个参考散斑点都有对应的参考深度信息。当需要获取被拍摄物体的深度信息时,就可以将实际采集的散斑图像与参考图像进行比较,并根据实际采集的散斑图像中散斑点的偏移量来计算实际的深度信息。计算深度图像的步骤具体包括:获取参考图像;将参考图像与散斑图像进行比较得到偏移信息,偏移信息用于表示散斑图像中散斑点相对于参考图像中对应散斑点的水平偏移量;根据偏移信息和参考深度信息计算得到深度图像。

图4为一个实施例中计算深度信息的原理图。如图4所示,镭射灯402可以生成激光散斑,激光散斑经过物体进行反射后,通过激光摄像头404获取形成的图像。在摄像头的标定过程中,镭射灯402发射的激光散斑会经过参考平面408进行反射,然后通过激光摄像头404采集反射光线,通过成像平面410成像得到参考图像。参考平面408到镭射灯402的参考深度为l,该参考深度为已知的。在实际计算深度信息的过程中,镭射灯402发射的激光散斑会经过物体406进行反射,再由激光摄像头404采集反射光线,通过成像平面410成像得到实际的散斑图像。则可以得到实际的深度信息的计算公式为:

其中,l是镭射灯402到与参考平面408之间的距离,f为激光摄像头404中透镜的焦距,cd为镭射灯402到激光摄像头404之间的距离,ab为物体406的成像与参考平面408的成像之间的偏移距离。ab可为像素偏移量n与像素点的实际距离p的乘积。当物体404到镭射灯402之间的距离dis大于参考平面406到镭射灯402之间的距离l时,ab为负值;当物体404到镭射灯402之间的距离dis小于参考平面406到镭射灯402之间的距离l时,ab为正值。

步骤308,获取电子设备中预先存储的参考图像,并根据参考图像将目标图像进行加密处理。

在将目标图像发送给目标应用程序之前,可将目标图像进行加密处理。参考图像是电子设备在对摄像头模组进行标定时采集的散斑图像,由于参考图像具有高度唯一性,不同的电子设备采集的参考图像是不同的。所以参考图像本身就可以作为一个加密的密钥,用来对数据进行加密处理。电子设备可以将参考图像存放在安全环境中,这样可以防止数据泄露。具体地,获取的参考图像是由一个二维的像素矩阵构成的,每一个像素点都有对应的像素值。可以根据参考图像的全部或部分像素点对目标图像进行加密处理。例如,可以将参考图像直接与目标图像进行叠加,得到一张加密图像。也可以目标图像对应的像素矩阵与参考图像对应的像素矩阵进行乘积运算,得到加密图像。还可以去参考图像中某一个或多个像素点对应的像素值作为加密密钥,对目标图像进行加密处理,具体加密算法在本实施例不做限定。

步骤310,将加密处理后的目标图像发送给目标应用程序。

参考图像是在电子设备标定时生成的,则电子设备可以将参考图像预先存储在安全环境中,在需要对目标图像进行加密的时候,在安全环境下读取参考图像,并根据参考图像对目标图像进行加密处理。同时,会在目标应用程序对应的服务器上存储一张相同的参考图像,当电子设备将加密处理后的目标图像发送给目标应用程序对应的服务器之后,目标应用程序的服务器获取参考图像,并根据获取的参考图像对加密后的目标图像进行解密处理。

可以理解的是,目标应用程序的服务器中可能会存储多张不同电子设备采集的参考图像,每个电子设备对应的参考图像不同。因此,服务器中可以对每一张参考图像定义一个参考图像标识,并存储电子设备的设备标识,然后建立参考图像标识与设备标识之间的对应关系。当服务器接收到目标图像时,接收到的目标图像会同时携带电子设备的设备标识。服务器就可以根据设备标识查找对应的参考图像标识,并根据参考图像标识找到对应的参考图像,然后根据找到的参考图像对目标图像进行解密处理。

在本申请提供的其他实施例中,根据参考图像进行加密处理的方法具体可以包括:获取参考图像对应的像素矩阵,根据该像素矩阵获取加密密钥;根据加密密钥对目标图像进行加密处理。

具体地,参考图像是由一个二维像素矩阵构成的,由于获取的参考图像是唯一的,因此参考图像对应的像素矩阵也是唯一的。该像素矩阵本身可以作为一个加密密钥对目标图像进行加密,也可以对像素矩阵进行一定的转换得到加密密钥,再通过转换得到的加密密钥对目标图像进行加密处理。举例来说,像素矩阵是一个由多个像素值构成的二维矩阵,每一个像素值在像素矩阵中的位置可以通过一个二维坐标进行表示,则可以通过一个或多个位置坐标获取对应的像素值,并将获取的这一个或多个像素值组合成一个加密密钥。获取到加密密钥之后,可以根据加密密钥对目标图像进行加密处理,具体地加密算法在本实施例中不做限定。例如,可以直接将加密密钥与目标图像进行叠加或乘积,或者可以将加密密钥作为一个数值插入目标图像中,得到最终的加密后的目标图像。

电子设备还可以对不同的应用程序采用不同的加密算法。具体地,电子设备可以预先建立应用程序的应用标识与加密算法的对应关系,图像采集指令中可包含目标应用程序的目标应用标识。在接收到图像采集指令后,可以获取图像采集指令中包含的目标应用标识,并根据目标应用标识获取对应的加密算法,根据获取的加密算法对目标图像进行加密处理。

在一个实施例中,在对目标图像进行加密处理时,还可以根据发起图像采集指令的时长来进行不同程度的加密处理。具体的:

步骤502,获取图像采集指令中包含的时间戳,时间戳用于表示发起图像采集指令的时刻。

目标应用程序在发起图像采集指令时,会在图像采集指令中写入时间戳。该时间戳可以表示发起图像采集指令的时刻,根据时间戳可以判断发起图像采集指令的时长。例如,当目标应用程序发起图像采集指令时,目标应用程序可以发起图像采集指令的时刻为“2015年02月12日11:23:01”,然后将获取该时刻作为时间戳写入图像采集指令中。

步骤504,根据时间戳到当前时刻的间隔时长获取加密等级,根据参考图像对目标图像进行加密等级对应的加密处理。

当电子设备的第一处理单元发送目标图像时,可以获取图像采集指令中包含的时间戳,并获取当前时刻。根据时间戳到当前时刻的间隔时长获取加密等级,并根据参考图像对目标图像进行加密等级对应的加密处理。时间戳到当前时刻的间隔时长越长,就认为越不安全,则对应加密处理的加密等级越高。具体地,当间隔时长超过时长阈值时,则认为当前响应超时,直接将目标图像丢弃,不再将目标图像发送给目标应用程序。当间隔时长小于时长阈值时,再将目标图像发送给目标应用程序。则步骤504具体可以包括:若时间戳到当前时刻的间隔时长小于时长阈值,则根据上述间隔时长获取加密等级,根据参考图像对目标图像进行加密等级对应的加密处理。

在一个实施例中,上述图像处理方法发送目标图像的步骤还可以包括:

步骤602,获取目标应用程序的运行状态;

步骤604,若目标应用程序为前台运行,则将目标图像发送给目标应用程序。

电子设备在运行应用程序时,应用程序的运行状态可分为前台运行和后台运行。前台运行的应用程序可以与用户进行交互,后台运行的应用程序一般不能与用户进行交互。在发送目标图像之前,可以判断目标应用程序的运行状态,若目标应用程序处于后台运行,则认为是后台应用程序非法调用摄像头采集图像。若目标应用程序处于前台运行,则再将目标图像发送给目标应用程序。

上述实施例提供的图像处理方法,在检测到图像采集指令时,可以获取发起图像采集指令的目标应用程序所对应的应用等级和应用操作的安全等级,并根据应用等级的安全等级获取对应的精度级别。然后根据精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像。最后根据参考图像将目标图像进行加密处理,并将加密后的目标图像发送给目标应用程序。这样可以对不同的目标应用程序发送不同精度的目标图像,应用等级低的目标应用程序,得到的目标图像的精度也比较低,这样可以保证发送的目标图像的安全性。同时,在发送目标图像的时候,会将目标图像加密后再进行传输,进一步地提高了图像处理的安全性。

应该理解的是,虽然图2、图3、图5、图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3、图5、图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图7为一个实施例中实现图像处理方法的硬件结构图。如图7所示,该电子设备中可包括摄像头模组710、中央处理器(cpu)720和第一处理单元730,上述摄像头模组710中包括激光摄像头712、泛光灯714、rgb(red/green/blue,红/绿/蓝色彩模式)摄像头716和镭射灯718。第一处理单元730包括pwm(pulsewidthmodulation,脉冲宽度调制)模块732、spi/i2c(serialperipheralinterface/inter-integratedcircuit,串行外设接口/双向二线制同步串行接口)模块734、ram(randomaccessmemory,随机存取存储器)模块736、depthengine模块738。其中,第二处理单元722可为处于tee(trustedexecutionenvironment,可信运行环境)下的cpu内核,第一处理单元730可为mcu(microcontrollerunit,微控制单元)处理器。可以理解的是,中央处理器720可以为多核运行模式,中央处理器720中的cpu内核可以在tee或ree(richexecutionenvironment,自然运行环境)下运行。tee和ree均为arm模块(advancedriscmachines,高级精简指令集处理器)的运行模式。通常情况下,电子设备中安全性较高的操作行为需要在tee下执行,其他操作行为则可在ree下执行。本申请实施例中,当中央处理器720接收到目标应用程序发起的安全性要求较高的图像采集指令,例如当目标应用程序需要人脸信息进行解锁、目标应用程序需要人脸信息进行支付时,tee下运行的cpu内核即第二处理单元722,会通过securespi/i2c向mcu730中spi/i2c模块734发送图像采集指令,第一处理单元730通过pwm模块732发射脉冲波控制摄像头模组710中泛光灯714开启来采集红外图像、控制摄像头模组710中镭射灯718开启来采集散斑图。摄像头模组710可将采集到的散斑图传送给第一处理单元730中depthengine模块738,depthengine模块738可根据红外图像计算红外视差图像,并根据散斑图像计算散斑视差图像,再将红外图像、红外视差图像、散斑图像和散斑视差图像发送给第二处理单元722。第二处理单元722会根据红外视差图像对红外图像进行校正得到校正红外图像,并根据散斑视差图像对散斑图像进行校正得到校正散斑图像。然后第二处理单元722可以根据校正散斑图像计算得到深度图像,并根据校正红外图像进行人脸识别,检测上述校正红外图像中是否存在人脸以及检测到的人脸与存储的人脸是否匹配;若人脸识别通过,再根据上述校正红外图像和深度图像来进行活体检测,检测上述人脸是否为活体人脸。在一个实施例中,在获取到校正红外图像和深度图像后,可先进行活体检测再进行人脸识别,或同时进行人脸识别和活体检测。在人脸识别通过且检测到的人脸为活体人脸后,第二处理单元722可将上述校正红外图像、校正散斑图像、深度图像以及人脸识别结果中的一种或多种发送给目标应用程序。

图8为另一个实施例中实现图像处理方法的硬件结构图。如图8所示,该硬件结构中包括第一处理单元80、摄像头模组82和第二处理单元84。摄像头模组82中包括激光摄像头820、泛光灯822、rgb摄像头824和镭射灯826。其中,中央处理器中可包括处于tee下的cpu内核与处于ree下的cpu内核,第一处理单元80为中央处理器中开辟的dsp处理模块,第二处理单元84即为处于tee下的cpu内核,第二处理单元84和第一处理单元80可以通过一个安全缓冲区(securebuffer)进行连接,这样可以保证图像传输过程中的安全性。通常情况下,中央处理器在处理安全性较高的操作行为时,需要将处理器内核切换到tee下执行,安全性较低的操作行为则可在ree下执行。本申请实施例中,可通过第二处理单元84接收上层应用发送的图像采集指令,当第二处理单元84接收的图像采集指令对应的应用操作为安全操作时,可通过pwm模块发射脉冲波控制摄像头模组82中泛光灯822开启来采集红外图像,然后控制摄像头模组82中镭射灯826开启来采集散斑图像。摄像头模组82可将采集到的红外图像和散斑图像传送给第一处理单元80中,第一处理单元80可根据散斑图像计算得到深度图像,然后根据深度图像计算得到深度视差图像,并根据红外图像计算得到红外视差图像。然后将红外视差图像和深度视差图像发送给第二处理单元84。第二处理单元84可以根据红外视差图像进行校正得到校正红外图像,并根据深度视差图像进行校正得到校正深度图像。第二处理单元84会根据红外图像进行人脸认证,检测上述校正红外图像中是否存在人脸,以及检测到的人脸与存储的人脸是否匹配;若人脸认证通过,再根据上述校正红外图像和校正深度图像来进行活体检测,判断上述人脸是否为活体人脸。在第二处理单元84进行人脸认证和活体检测处理后,会将处理结果发送给目标应用程序,目标应用程序再根据检测结果进行解锁、支付等应用操作。

图9为一个实施例中实现图像处理方法的软件架构示意图。如图9所示,该软件架构包括应用层910、操作系统920和安全运行环境930。其中,处于安全运行环境930中的模块包括第一处理单元931、摄像头模组932、第二处理单元933和加密模块934等;操作系统930中包含安全管理模块921、人脸管理模块922、摄像头驱动923和摄像头框架924;应用层910中包含应用程序911。应用程序911可以发起图像采集指令,并将图像采集指令发送给第一处理单元931进行处理。例如,在通过采集人脸进行支付、解锁、美颜、增强现实技术(augmentedreality,ar)等操作时,应用程序会发起采集人脸图像的图像采集指令。可以理解的是,应用程序911发起的图像指令可以首先发送到第二处理单元933,再由第二处理单元933发送给第一处理单元931。

第一处理单元931接收到图像采集指令之后,若判断图像采集指令对应的应用操作为安全操作(如支付、解锁操作),则会根据图像采集指令控制摄像头模组932采集红外图像和散斑图像,摄像头模组932采集的红外图像和散斑图像传输给第一处理单元931。第一处理单元931根据散斑图像计算得到包含深度信息的深度图像,并根据深度图像计算得到深度视差图像,根据红外图像计算得到红外视差图像。然后通过安全传输通道将深度视差图像和红外视差图像发送给第二处理单元933。第二处理单元933会根据红外视差图像进行校正得到校正红外图像,根据深度视差图像进行校正得到校正深度图像。然后根据校正红外图像进行人脸认证,检测上述校正红外图像中是否存在人脸,以及检测到的人脸与存储的人脸是否匹配;若人脸认证通过,再根据上述校正红外图像和校正深度图像来进行活体检测,判断上述人脸是否为活体人脸。第二处理单元933得到的人脸识别结果可以发送给加密模块934,通过加密模块934进行加密后,将加密后的人脸识别结果发送给安全管理模块921。一般地,不同的应用程序911都有对应的安全管理模块921,安全管理模块921会将加密后的人脸识别结果进行解密处理,并将解密处理后得到的人脸识别结果发送给相应的人脸管理模块922。人脸管理模块922会将人脸识别结果发送给上层的应用程序911,应用程序911再根据人脸识别结果进行相应的操作。

若第一处理单元931接收到的图像采集指令对应的应用操作为非安全操作(如美颜、ar操作),则第一处理单元931可以控制摄像头模组932采集散斑图像,并根据散斑图像计算深度图像,然后根据深度图像得到深度视差图像。第一处理单元931会通过非安全传输通道将深度视差图像发送给摄像头驱动923,摄像头驱动923再根据深度视差图像进行校正处理得到校正深度图像,然后将校正深度图像发送给摄像头框架924,再由摄像头框架924发送给人脸管理模块922或应用程序911。

图10为一个实施例中图像处理装置的结构示意图。如图10所示,该图像处理装置1000包括精度获取模块1002、图像调整模块1004和图像发送模块1006。其中:

精度获取模块1002,用于若检测到图像采集指令,则获取发起所述图像采集指令的目标应用程序所对应的精度级别。

图像调整模块1004,用于根据所述精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像;所述散斑图像是通过激光摄像头采集的激光散斑照射到物体上所形成的图像。

图像发送模块1006,用于将所述目标图像发送给所述目标应用程序。

上述实施例提供的图像处理装置,在检测到图像采集指令时,可以获取发起图像采集指令的目标应用程序所对应的精度级别。然后根据精度级别调整采集的散斑图像中包含的散斑点的个数,并根据调整后的散斑图像获取目标图像。最后将目标图像发送给目标应用程序。这样可以对不同的目标应用程序发送不同精度的目标图像,应用等级低的目标应用程序,得到的目标图像的精度也比较低,这样可以保证发送的目标图像的安全性。

在一个实施例中,精度获取模块1002还用于获取发起所述图像采集指令的目标应用程序所对应的应用等级,并获取图像采集指令对应的应用操作的安全等级;根据所述应用等级和安全等级获取精度级别。

在一个实施例中,图像调整模块1004还用于根据所述精度级别调整镭射灯衍射生成的激光散斑中包含的散斑点的个数,并通过激光摄像头采集所述激光散斑照射到物体上所形成的散斑图像;或,通过激光摄像头采集预设的激光散斑照射到物体上所形成的散斑图像,并根据所述精度级别调整所述散斑图像中包含的散斑点的个数。

在一个实施例中,图像调整模块1004还用于根据调整后的散斑图像计算得到深度图像,将所述深度图像作为目标图像;或,将调整后的散斑图像作为目标图像。

在一个实施例中,图像调整模块1004还用于获取所述目标应用程序的运行状态;若所述目标应用程序为前台运行,则将所述目标图像发送给所述目标应用程序。

在一个实施例中,图像调整模块1004还用于获取电子设备中预先存储的参考图像,并根据所述参考图像将所述目标图像进行加密处理,所述参考图像为标定得到的包含参考散斑点的图像;将加密处理后的目标图像发送给所述目标应用程序。

在一个实施例中,图像调整模块1004还用于获取图像采集指令中包含的时间戳,所述时间戳用于表示发起所述图像采集指令的时刻;根据所述时间戳到当前时刻的间隔时长获取加密等级,根据所述参考图像对所述目标图像进行所述加密等级对应的加密处理。

上述图像处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将图像处理装置按照需要划分为不同的模块,以完成上述图像处理装置的全部或部分功能。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述实施例提供的图像处理方法。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图像处理方法。

本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(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)。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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