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

文档序号:16201390发布日期:2018-12-08 06:38阅读:120来源:国知局
图像处理方法、装置、计算机可读存储介质和电子设备与流程

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

背景技术

智能设备在对物体进行拍摄的时候,不仅能够采集物体的色彩信息,还能够采集物体的深度信息,通过深度信息可以对图像的色彩信息进行更精确地处理。例如,可以根据深度信息识别图像中的近景和远景,从而对近景和远景的色彩进行不同的处理;还可以根据深度信息判断识别到的人脸是否为活体,从而对活体人脸进行美颜处理等。通过图像处理的方法采集深度信息的方法有多种,例如双目测距法、结构光法、飞行时间法等。

然而,由于tof摄像头与可见光摄像头采集频率不一致,在相同曝光时间下,tof摄像头采集到的图像容易丢帧,而一旦丢帧则会出现双目标定不准确,图像采集系统稳定性差。



技术实现要素:

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

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

获取第一摄像头在曝光时段内根据第一帧率采集的第一图像,并获取第二摄像头在所述曝光时段内根据第二帧率采集的至少两帧第二图像,其中,所述第一帧率小于所述第二帧率,所述第二摄像头为飞行时间tof摄像头,所述第二图像为包含深度信息的图像;

将所述至少两帧第二图像拼接成一帧深度图像;

对所述深度图像和所述第一图像进行处理。

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

获取单元,用于获取第一摄像头在曝光时段内根据第一帧率采集的第一图像,并获取第二摄像头在所述曝光时段内根据第二帧率采集的至少两帧第二图像,其中,所述第一帧率小于所述第二帧率,所述第二摄像头为飞行时间tof摄像头,所述第二图像为包含深度信息的图像;

拼接单元,用于将所述至少两帧第二图像拼接成一帧深度图像;

处理单元,用于对所述深度图像和所述第一图像进行处理。

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

获取第一摄像头在曝光时段内根据第一帧率采集的第一图像,并获取第二摄像头在所述曝光时段内根据第二帧率采集的至少两帧第二图像,其中,所述第一帧率小于所述第二帧率,所述第二摄像头为飞行时间tof摄像头,所述第二图像为包含深度信息的图像;

将所述至少两帧第二图像拼接成一帧深度图像;

对所述深度图像和所述第一图像进行处理。

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

获取第一摄像头在曝光时段内根据第一帧率采集的第一图像,并获取第二摄像头在所述曝光时段内根据第二帧率采集的至少两帧第二图像,其中,所述第一帧率小于所述第二帧率,所述第二摄像头为飞行时间tof摄像头,所述第二图像为包含深度信息的图像;

将所述至少两帧第二图像拼接成一帧深度图像;

对所述深度图像和所述第一图像进行处理。

上述图像处理方法、装置、计算机可读存储介质和电子设备,可以在相同曝光时间内获取到第一图像及多帧第二图像后,将多帧第二图像进行图像拼接,拼接为一帧深度图像,并对第一图像与一帧深度图像进行处理,解决了现有技术中tof摄像头容易丢帧的问题,提高了图像处理系统稳定性。

附图说明

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

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

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

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

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

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

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

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

图8为一个实施例中图像处理流程的示意图;

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

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

图11为一个实施例中图像处理电路的示意图。

具体实施方式

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

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

图1为一个实施例中图像处理方法的应用环境图。如图1所示,电子设备上可安装两个摄像头,包括第一摄像头102和第二摄像头104。具体的,电子设备可以通过第一摄像头102和第二摄像头104进行拍摄,获取第一摄像头102在曝光时段内根据第一帧率采集的第一图像,并获取第二摄像头104在曝光时段内根据第二帧率采集的至少两张第二图像,其中,第一帧率小于第二帧率。然后,根据第一图像生成第一图像,并根据第二图像生成深度图像,深度图像用于表示第一图像对应的深度信息;根据第一图像和深度图像进行处理。可以理解的是,上述电子设备可以是手机、电脑、可穿戴设备等,在此不做限定。其中,第一摄像头可以是可见光摄像头,又可称为rgb摄像头,如ccd、cmos摄像头;第二摄像头为激光式的飞行时间(timeofflight,tof)摄像头,可采集目标物体的深度信息(即摄像头与目标物体的距离信息)。

在用于高精度距离测量的光检测与测距(lidar)中使用基于测量照明单元所发射的光行进到对象且返回到检测器所需的时间的飞行时间(timeofflight,tof)技术。目前,基于该原理已开发在标准cmos或ccd技术中实现tof测距,即tof摄像头,tof摄像头也称为范围成像(rim)传感器。不同于其余3d系统,tof摄像头已经成为实现采集目标物体距离(即深度信息)的新一代摄像头。目前tof技术有两种方法,第一种方法利用经调制非相干光基于相位测量,称为相位差法。第二种方法则基于脉冲信号的持续发送及接收,通过时间差来计算目标物体的距离,称为时间差法。

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

s202、获取第一摄像头在曝光时段内根据第一帧率采集的第一图像,并获取第二摄像头在所述曝光时段内根据第二帧率采集的至少两帧第二图像,其中,所述第一帧率小于所述第二帧率,所述第二摄像头为飞行时间tof摄像头,所述第二图像为包含深度信息的图像;

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

在本申请实施例中,电子设备至少安装两个摄像头,分别为第一摄像头和第二摄像头,然后控制第一摄像头和第二摄像头同时曝光,并通过第一摄像头获取第一图像,通过第二摄像头获取第二图像。可以理解的是,第一摄像头和第二摄像头都是针对同一场景获取的图像,第一摄像头以第一帧率采集第一图像,第二摄像头以第二帧率采集第二图像。其中,第一帧率小于第二帧率,这样可以保证在相同的曝光时段内,第二摄像头可以采集多帧第二图像。

具体的,第二摄像头采集的至少两张第二图像可以用于合成一帧图像,这样就可以避免第二摄像头在采集第二图像时,产生的空洞现象,提高图像的准确性。例如,第一摄像头可以以30帧/秒的速度来获取第一图像,第二摄像头可以以120帧/秒的速度来获取第二图像。这样在相同的曝光时段内,第一摄像头采集一帧第一图像,第二摄像头就可以采集四帧第二图像。需要说明的是,第二摄像头采集的帧率可调,若帧率大于120帧/秒,则在相同的曝光时间内可采集到n帧图像(n>4),本申请实施例对此并不限定。

具体的,第一图像是指第一摄像头采集的原始图像,第二图像是指第二摄像头采集的原始图像。摄像头中的图像传感器可以将光信号转化成电信号,转换成电信号之后形成的原始图像不能直接被处理器处理,需要进行一定的格式转换后才能被处理器处理。

在一个实施例中,第一摄像头可以是可见光摄像头,第二摄像头可以是激光摄像头,电子设备上可以安装第二摄像头对应的激光发射器。激光发射器的激光照射到物体上,通过第二摄像头来获取激光照射物体时生成的第二图像。第二图像用于生成第一图像对应的深度信息。

第一摄像头采集的第一图像,可以生成对应的第一图像,第一图像可以被处理器处理。例如,获取的第一图像可以是raw格式的图像,第一图像可以从raw格式的图像转换成yuv(lumachrominancechroma,明亮度、色度、浓度)格式的图像,格式转换后形成的yuv图像即为生成的第一图像,然后将第一图像进行处理。第二摄像头采集的第二图像也可以是raw格式的图像,由于获取的第二图像为至少两帧,所以可以将第二图像合成为一帧depth(深度)图像,即为深度图像。

s204、将所述至少两帧第二图像拼接成一帧深度图像;

其中,在相同的曝光时间内,tof摄像头由于帧率高,故采集到的图像数量多于第一摄像头采集的图像。如上例中,第一帧率为30帧/秒,第二帧率为120帧/秒,则在相同的曝光时间内(例如1/30秒),第一摄像头获取到一帧图像,第二摄像头(tof摄像头)同步获取到四帧图像,而高帧率tof摄像头采集到的四帧图像相对于第一摄像头采集的一帧图像,由于数目不统一,容易带来tof丢帧问题,对于双目标定而言,丢帧意味着时序上不同步,会对后期的双目标定,甚至应用层的目标物体3d建模造成较大影响,导致图像识别系统不稳定。

基于此,有必要对多帧第二图像进行图像拼接,以形成一帧深度图像,该帧深度图像与第一图像在时序上同步对应,方便进行双目标定,以获取一帧图像及对应的深度信息,为后续的3d建模与3d应用提供基础。

需要说明的是,第二图像是包含了深度信息的图像,而深度图像(depth图像)则是多帧第二图像拼接为一帧、且包含了多个深度信息的图像。深度图像用于在后续的图像处理中,与第一摄像头采集的rgb(redgreenblue)图像做图像合成,形成一张包含了深度信息的rgb图像,即rgbd(redgreenbluedepth)图像。

所述第二图像包括图像数据及与所述图像数据对应的元数据,其中,图像数据又可以表示为rawdata,元数据可以表示为metadata,raw格式为图像处理领域常用的一种格式,其表示为初始抓取的原始图像数据,即未经过后续图像处理的最初数据,而metadata则用于表示当前rawdata属性的数据,例如,当前图像曝光时间、焦距等参数,则s204中,将所述至少两帧第二图像拼接成一帧深度图像,具体可以为:

s302、提取每一帧所述第二图像中的图像数据及元数据;

s304、将所述提取出的图像数据及元数据进行打包操作;

s304具体可以为:将所述至少两帧的图像数据及对应的元数据分别进行数据拼接,或,按照所述曝光时序依次将所述至少两帧第二图像的图像数据和元数据进行数据拼接。

例如,若相同曝光时间内采集到的第二图像为四帧,其中每一帧均按照tof图像格式缓存,则将该四帧图像的图像数据及元数据提取出来(tof图像格式中包含净负荷payload的图像数据及非净负荷的附加信息,此时需过滤掉其中的非净负荷数据),并将该四帧图像的图像数据及元数据依次实现数据拼接。即,将第一帧的图像数据与第二帧、第三帧和第四帧的图像数据依次拼接,第一帧的图像数据最后一个比特位后拼接上第二帧的第一个比特位,第二帧的最后一个比特位后拼接上第三帧的第一个比特位,以此类推,直到拼接上最后一帧的最后一个比特位。其中,四帧图像拼接(合成)一帧图像时,可按照固定的深度图像格式进行数据拼接,也可以按照特定的格式或协议,例如,可以采用rawdata及metadata相互交替(即一帧rawdata后紧接着对应的metadata,再到下一帧rawdata,紧接着下一帧rawdata对应的metadata,以此类推)进行数据拼接本申请实施例不再累述。

需要说明的是,在本申请实施例中,可以采用时间差法或相位差法获取到该至少两帧第二图像,若采用相位差法,则采集到的至少两帧第二图像中至少一帧为关键帧,至少一帧为非关键帧,则s304包括:

计算出所述关键帧与所述非关键帧中对应像素点的相位差数据;

提取出所述关键帧的图像数据及元数据,将所述计算出的相位差数据与所述关键帧的图像数据及元数据进行打包操作。

其中,相位差计算方法如前述所述,当获取到关键帧的图像数据及元数据后,只需要对非关键帧中的相位差数据进行计算,并将对应像素点的相位差数据与关键帧的相位差数据进行比较,求解出其差值,即可计算出该非关键帧的相位差,从而无需保留四帧所有的图像数据及元数据,而只需保留其中的关键帧的图像数据及元数据,以及非关键帧中对应像素点相对于关键帧的相位差数据,进一步节省了存储空间。

在一个实施例中,所述元数据用于表示采集所述第二图像的先后顺序,则将所述至少两帧第二图像拼接成一帧深度图像,具体还可以为:

根据所述元数据判断采集的第二图像是否丢失,若否,则将所述第二图像及对应的标志信息进行打包;

根据所述标志信息将打包后的第二图像进行合成,得到一帧深度图像。

第二摄像头采集的第二图像至少有两张,所以第二摄像头采集第二图像之后,会对每一张第二图像都生成一个对应的标志信息,通过该标志信息来标记图像采集的先后顺序。具体的,该标志信息可以但不限于是第二图像的采集时刻、第二图像相位等。第二图像的采集时刻用于表示采集第二图像时的时刻,根据该采集时刻可以判断采集第二图像的时间先后顺序。第二图像相位可以表示采集的每一帧第二图像的先后顺序。例如,可以根据采集时刻的先后顺序将第二图像通过序列号标记为“01”、“02”、“03”、“04”。通过该标志信息,依次对打包后的第二图像进行合成,得到一帧深度图像。

s306、存储所述打包后的图像数据及元数据,所述存储的图像数据及元数据为所述一帧深度图像数据。

其中,s306可以构建一帧深度图像,里面的数据初始为空,依次将相应的打包数据(图像数据及元数据)写入该深度图像数据中,以形成一帧数据完整的深度图像,存储在缓存区buffer中。例如,tof摄像头采集的四帧数据分辨率可以为240×180,对该图像数据及元数据进行打包后,并按照深度图像数据格式进行存储,存储后的深度图像可以为960×720。

s206、对所述深度图像和所述第一图像进行处理。

可以理解的是,第一摄像头和第二摄像头是针对同一场景进行拍摄的,所以拍摄得到的第一图像和第二图像是对应的,得到的第一图像和深度图像也是对应的。例如,第一图像为yuv图像,深度图像是depth图像,那么第一图像就可以表示拍摄场景的色彩信息,深度图像就可以表示拍摄场景对应的深度信息。

得到第一图像和深度图像之后,可以对第一图像和深度图像进行处理,具体的处理方式不限。例如,可以根据第一图像进行人脸识别处理,并根据深度图像对第一图像中识别到的人脸进行三维建模,得到人脸的三维模型。还可以根据深度图像中的深度信息,对第一图像中的人脸进行美颜处理。

上述实施例提供的图像处理方法,可以通过第一摄像头在一定的曝光时段内根据第一帧率采集第一图像,通过第二摄像头在上述曝光时段内根据第二帧率采集至少两张第二图像,然后根据第一图像生成的第一图像和第二图像生成的深度图像进行处理。这样可以保证第一摄像头和第二摄像头在同一曝光时段内获取图像,第二摄像头还可以同时获取至少两张第二图像,并根据至少两张第二图像生成最后用于处理的深度图像,减少图像采集时产生的误差,提高了图像处理的准确性。

上述实施例提供的图像处理方法,可以在相同曝光时间内获取到第一图像及多帧第二图像后,将多帧第二图像进行图像拼接,拼接为一帧深度图像,并对第一图像与一帧深度图像进行处理,相比现有技术中的tof摄像头不容易发生丢帧,提高了图像处理系统稳定性。

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

步骤402,当检测到图像采集指令时,获取第一摄像头在曝光时段内根据第一帧率采集的第一图像。

图像采集指令是指触发图像采集操作的指令。例如,用户可以打开应用程序,通过对应用程序的操作生成图像采集指令。当电子设备检测到图像采集指令的时候,可以打开摄像头。摄像头打开之后,可以通过控制快门打开的时长,来控制光投射到摄像头感光面的时长。快门打开的时长越长,进光量就越多,形成的图像亮度就会越高。例如,在环境光较亮的时候,一般会控制快门打开较短的时间,这样进光量就比较少,避免生成的图像过亮。

曝光时段是指控制摄像头快门打开的时间段,可以根据曝光时段获取快门打开的时刻以及快门打开的时长。例如,曝光时段为“12:00:00→12:00:30”,那么快门开启的时刻就是“12:00:00”,快门开启的时长就是30秒。帧率是指摄像头采集图像的频率,具体可以是摄像头每秒钟采集的图像的张数。例如,帧率可以是30帧/秒,那么就是指控制摄像头每秒钟采集30张图像。

在本申请提供的实施例中,为保证第一摄像头和第二摄像头采集的图像是对应的,需控制第一摄像头和第二摄像头同时曝光。第一摄像头和第二摄像头采集的图像的数量不同,因此第一摄像头和第二摄像头在相同的曝光时段内是以不同的帧率来采集图像的,这样第一摄像头和第二摄像头在相同的曝光时段内,采集的图像的数量也是不同的。

步骤404,获取图像数量,并根据图像数量和第一帧率计算得到第二帧率。

具体的,第一摄像头和第二摄像头采集图像的帧率可以是预先设置好的,也可以是实时变化的,在此不做限定。例如,第一帧率是预先设置的,第二帧率是实时变化的,或者第一帧率和第二帧率都是预先设置好的。

在一个实施例中,第二帧率是根据第一帧率计算得到的,首先获取第二图像数量,根据图像数量和第一帧率可以计算得到第二帧率。假设第二图像数量为s,第一帧率为z1,那么第二帧率z2的计算公式就可以表示为:z2=s*z1。即,第二帧率与第一帧率满足一定的倍数关系,该倍数即为第二图像数量。例如:第一帧率为30帧/秒,图像数量为4,那么第二帧率就为30*4=120帧/秒。

其中,图像数量为所需采集的第二图像的数量,该图像数量可以是预先设置的,也可以是根据图像采集指令获取的。那么获取图像数量具体就可以包括:获取预设的图像数量;或获取图像采集指令中包含的应用标识所对应的应用等级,根据应用等级获取对应的图像数量。

应用标识用于标示发起上述图像采集指令的应用程序,应用等级用于表示发起图像采集指令的应用程序的重要等级。例如,第三方应用程序对应的应用等级较低,系统应用程序的应用等级较高。电子设备可以预先建立应用标识和应用等级的对应关系,然后根据应用标识可以查找到对应的应用等级。应用等级越高,对应获取的第二图像数量的图像数量越多。

在一个实施例中,图像数量还可以是根据电子设备的抖动情况来获取的,一般电子设备抖动比较大的情况下,认为该电子设备获取图像出现误差的几率越大,所以可以通过获取多张图像合成的方法来降低图像的误差。具体的,电子设备预先建立抖动数据与图像数量的对应关系,在采集图像的过程中,可获取电子设备的抖动数据,根据抖动数据获取对应的图像数量。抖动数据可以反映电子设备的抖动情况,具体可以是陀螺仪、加速度传感器等传感器检测到的数据,在此不做限定。

步骤406,获取第二摄像头在曝光时段内根据第二帧率采集的图像数量对应的第二图像。

当检测到图像采集指令的时候,需控制第一摄像头和第二摄像头同时曝光,并保证在相同的曝光时段内采集到不同的数量的图像。因此,在检测到图像采集指令之后,电子设备可以控制第一摄像头根据第一帧率采集第一图像,并控制第二摄像头根据第二帧率采集第二图像。

为保证采集的第一图像和第二图像是对应的,可以在采集到第一图像和第二图像之后,分别获取采集第一图像时的第一时刻和采集第二图像时的第二时刻,当第一时刻和第二时刻之间的时间间隔小于间隔阈值时,根据多帧第二图像拼接一帧深度图像的步骤;否则认为采集的第一图像和第二图像是不对应的,可以将采集的第一图像第二图像丢弃。

步骤408,将第一图像进行第一格式转换,生成第一目标图像。

摄像头是由光学元件和图像传感器构成的,光学元件用于收集光线。图像传感器包括色彩滤镜阵列(如bayer滤镜),可以用于将光学元件收集的光线的光强度和波长信息转化为电信号,然后生成一张原始图像。第一图像就是第一摄像头采集得到的原始图像,将第一原始图像进行第一格式转换,就可以生成第一目标图像。

在一个实施例中,第一摄像头为可见光摄像头,第一原始图像可以是raw格式的图像,第一图像可以是yuv格式的图像,将raw格式的第一原始图像进行第一格式转换,就可得到yuv格式的第一目标图像。

步骤410,将多帧第二图像进行打包,并将打包后的第二图像进行第二格式转换,生成深度图像。

在检测到图像采集指令之后,在相同的曝光时段内,第二摄像头以第二帧率采集图像,可以得到上述图像数量对应的第二图像。第二摄像头采集的第二图像也是原始图像,需要经过一定的格式转换之后,才能得到最后最终的目标图像。具体的,获取到第二图像之后,为防止第二图像在传输过程中丢失,可以将第二图像进行打包,这样可以使第二图像在内存上形成一个整体进行传输,以防丢帧。打包之后的第二图像可以进行第二格式转换,然后生成一张深度图像。

在一个实施例中,第二摄像头可以为激光摄像头,电子设备还可以安装一个激光发射器,激光发射器以一定的频率发射激光波,通过第二摄像头采集激光波经过物体反射后所形成的图像,然后通过计算激光波的飞行时间(timeofflight,tof),就可以计算出物体到第二摄像头的距离。

具体的,可以控制激光发射器在上述曝光时段内发射激光波;根据第二帧率控制第二摄像头的至少两个快门进行开关,获取所述快门开启时所述激光波反射生成的至少两帧第二图像。第二摄像头可以通过不同的快门来采集不同的第二图像tof摄像头采集的第二图像也可以是raw格式的图像,深度图像可以是depth格式的图像,将raw格式的第二图像进行第二格式转换,就可得到depth格式的深度图像。

图5为一个实施例中tof计算深度信息的原理图。如图5所示,激光发射器可以发射一个激光波,发射的激光波经过物体反射之后会形成一个反射的激光波,根据发射的激光波和接收的激光波的相位差就可以计算得到物体的深度信息。激光摄像头实际采集图像时,可以控制不同快门在不同的时间进行开关,然后形成不同的接收信号,从而通过多个快门开关采集不同的图像来计算得到深度图像。在一个实施例中,假设激光摄像头是通过四个快门来控制接收激光波信号的,快门1、快门2、快门3、快门4接收到的激光波信号分别为q1、q2、q3、q4,则计算深度信息的公式如下:

其中,c为光速,f为激光波的发射频率。

步骤412,识别第一图像中的目标物体,根据深度图像获取目标物体对应的目标深度信息。

获取到第一图像和深度图像之后,可以将第一图像和深度图像进行打包处理,然后将第一图像和深度图像发送给应用程序,防止图像数据的丢失。例如,第一图像为rgb(redgreenblue,红绿蓝)图像,深度图像为depth图像,则可以将第一图像和深度图像打包成rgbd(redgreenbluedepth)图像,然后发送给应用程序。

应用程序接收到第一图像和深度图像之后,可以识别第一图像中的目标物体。深度图像可以表示第一图像对应的深度信息,因此可以根据深度图像获取第一图像中的目标物体所对应的目标深度信息。具体的,识别得到的第一图像中的目标物体是由若干个像素点所组成的目标区域,根据该目标区域可以定位到深度图像中对应的目标深度区域,根据该目标深度区域可以获取目标区域中每一个像素点对应的深度信息。

在本申请提供的实施例中,识别目标物体的方法在此不进行限定。例如,目标物体可以是人脸,则可以通过人脸检测算法识别第一图像中的人脸。目标物体还可以是建筑物、植物、动物等,可以通过人工智能的方式来识别。

步骤414,根据目标深度信息对目标物体进行处理。

获取到目标物体对应的目标深度信息之后,可以根据目标深度信息对目标物体进行处理。例如,可以根据目标深度信息对目标物体进行三维建模,还可以根据目标深度信息对目标物体进行美化处理等,具体的处理方式在此不做限定。

在一个实施例中,获取到第一图像和深度图像,将第一图像和深度图像进行处理的步骤具体还可以包括:

步骤602,当应用等级大于等级阈值时,将第一图像和深度图像进行加密处理。

获取到第一图像和深度图像后,可以将该第一图像和深度图像发送给应用程序进行处理。在发动第一图像和深度图像之前,可以判断该应用程序的应用等级是否大于等级阈值,若是,则说明该应用程序对安全性的要求比较高,可将第一图像和深度图像进行加密处理;若否,则说明应用程序对安全性要求比较低,可以将第一图像和深度图像直接发送给应用程序。

步骤604,将加密处理后的第一图像和深度图像发送给应用程序进行处理。

将加密处理后的第一图像和深度图像,发送给应用程序进行处理。应用程序接收到加密处理后的第一图像和深度图像,会对该加密处理后的第一图像和深度图像进行解密处理,再对解密处理后的第一图像和深度图像进行下一步处理。

在将第一图像和深度图像加密之前,还可以将第一图像和深度图像进行打包处理,再将打包后的第一图像和深度图像进行加密处理,这样可以防止第一图像和深度图像在传输过程中的丢失。

在一个实施例中,第二摄像头采集第二图像的时候,还会对每一帧第二图像形成对应的标志信息,通过该标志信息来表示采集第二图像的先后顺序。具体的,将第二图像进行格式转换步骤包括:

步骤702,获取每一张第二图像对应的标志信息,标志信息用于表示采集第二图像的先后顺序。

第二摄像头采集的第二图像至少有两张,所以第二摄像头采集第二图像之后,会对每一张第二图像都生成一个对应的标志信息,通过该标志信息来标记图像采集的先后顺序。具体的,该标志信息可以但不限于是第二图像的采集时刻、第二图像相位等。第二图像的采集时刻用于表示采集第二图像时的时刻,根据该采集时刻可以判断采集第二图像的时间先后顺序。第二图像相位可以表示采集的每一帧第二图像的先后顺序。例如,可以根据采集时刻的先后顺序将第二图像通过序列号标记为“01”、“02”、“03”、“04”。

步骤704,根据标志信息判断采集的第二图像是否丢失,若否,则将第二图像及对应的标志信息进行打包。

根据上述标志信息可以判断采集的第二图像是否有丢失,若丢失,则当前采集的第二图像可以丢弃;若没有丢失,则将第二图像及对应的标志信息进行打包处理。例如,采集得到的第二图像的序列号为“01”、“03”、“04”,则说明中间有一张序列号为“02”的第二图像丢失了。

步骤706,根据标志信息将打包后的第二图像进行第二格式转换。

打包后的第二图像是作为一个整体进行传输的,所以在传输过程中不会存在丢失一帧或几帧的情况。只会存在全部第二图像都存在,或全部第二图像都丢弃的情况。将第二图像和标志信息打包之后,可以传送到处理器进行格式转换。具体的,根据标志信息可判断采集第二图像的先后顺序,然后根据采集第二图像的先后顺序将第二图像进行合成计算得到深度图像。

如图8所示,第一摄像头可以在曝光时段内根据第一帧率采集第一图像802,第二摄像头可以在上述曝光时段内根据第二帧率采集第二图像822。然后根据第一图像802计算得到第一图像804,并根据第二图像822计算得到深度图像824。最后再根据得到的第一图像804和深度图像824进行处理。

上述实施例提供的图像处理方法,可以通过第一摄像头在一定的曝光时段内根据第一帧率采集第一图像,通过第二摄像头在上述曝光时段内根据第二帧率采集至少两张第二图像,然后根据第一图像生成的第一图像和第二图像生成的深度图像进行处理。这样可以保证第一摄像头和第二摄像头在同一曝光时段内获取图像,第二摄像头还可以同时获取至少两帧第二图像,并根据至少两张第二图像生成最后用于处理的深度图像,减少图像采集时产生的误差,提高了图像处理的准确性。

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

图9为一个实施例中实现图像处理方法的软件框架图。如图9所示,该软件框架中包括应用层90、硬件抽象层(hardwareabstractionlayer,hal)92、内核(kernel)层94和硬件(hardware)层96。其中,应用层90中包括应用程序902。硬件抽象层92中包括接口922、图像同步模块924、图像算法模块926以及应用算法模块928。内核层94中包括摄像头驱动942、摄像头标定模块944和摄像头同步图模块946。硬件层962中包括第一摄像头962、第二摄像头964和图像处理器(imagesignalprocessor,isp)966。

在一个实施例中,应用程序90可用于发起图像采集指令,然后将图像采集指令发送到接口922。接口922对图像采集指令解析之后,可以通过摄像头驱动942对摄像头的配置参数,然后将配置参数发送给图像处理器966,并通过图像处理器966控制第一摄像头962和第二摄像头964打开。第一摄像头962和第二摄像头964打开之后,可通过摄像头同步模块946控制第一摄像头962和第二摄像头964同步采集图像。第一摄像头962采集的第一图像和第二摄像头964采集的第二图像会发送给图像处理器966,然后通过图像处理器966将第一图像和第二图像发送给摄像头标定模块944。摄像头标定模块944会将第一图像和第二图像进行对齐处理,然后将对齐后的第一图像和第二图像发送到硬件抽象层92。硬件抽象层92中的图像同步模块924会根据采集第一图像的第一时刻与采集第二图像的第二时刻,判断第一图像和第二图像是否为同时获取的。若是,才会通过图像算法模块926根据第一图像计算得到第一图像,并根据第二图像计算得到深度图像。第一图像和深度图像会通过应用算法模块928进行打包等处理,然后将打包等处理后的第一图像和深度图像通过接口922发送给应用程序902,应用程序902获取到第一图像和深度图像后,可以根据第一图像和深度图像进行三维建模、美颜、增强现实(augmentedreality,ar)等处理。

图10为一个实施例中图像处理装置的结构示意图。如图7所示,该图像处理装置1000包括获取单元1002、拼接单元1004和处理单元1006。其中:

获取单元1002,用于获取第一摄像头在曝光时段内根据第一帧率采集的第一图像,并获取第二摄像头在所述曝光时段内根据第二帧率采集的至少两帧第二图像,其中,所述第一帧率小于所述第二帧率,所述第二摄像头为飞行时间tof摄像头,所述第二图像为包含深度信息的图像;

拼接单元1004,用于将所述至少两帧第二图像拼接成一帧深度图像;

处理单元1006,用于对所述深度图像和所述第一图像进行处理。

上述实施例提供的图像处理装置,可以在相同曝光时间内获取到第一图像及多帧第二图像后,将多帧第二图像进行图像拼接,拼接为一帧深度图像,并对第一图像与一帧深度图像进行处理,解决了现有技术中tof摄像头容易丢帧的问题,提高了图像处理系统稳定性。

在一个实施例中,所述第二图像包括图像数据及与所述图像数据对应的元数据,则所述拼接单元1004用于将所述至少两帧第二图像拼接成一帧深度图像,具体可以为:提取每一帧所述第二图像中的图像数据及元数据;将所述提取出的图像数据及元数据进行打包操作;存储所述打包后的图像数据及元数据,所述存储的图像数据及元数据为所述一帧深度图像数据。

在一个实施例中,所述拼接单元1004用于将所述提取出的图像数据及元数据进行打包操作,具体可以为:

将所述至少两帧的图像数据及对应的元数据分别进行数据拼接,或,按照所述曝光时序依次将所述至少两帧第二图像的图像数据和元数据进行数据拼接。

在一个实施例中,所述至少两帧第二图像中至少一帧为关键帧,至少一帧为非关键帧,则所述拼接单元1004将所述提取出的图像数据及元数据进行打包操作,具体可以为:计算出所述关键帧与所述非关键帧中对应像素点的相位差数据;提取出所述关键帧的图像数据及元数据,将所述计算出的相位差数据与所述关键帧的图像数据及元数据进行打包操作。

在一个实施例中,所述元数据用于表示采集所述第二图像的先后顺序,则所述拼接单元1004用于将所述至少两帧第二图像拼接成一帧深度图像,具体可以为:根据所述元数据判断采集的第二图像是否丢失,若否,则将所述第二图像及对应的标志信息进行打包;根据所述标志信息将打包后的第二图像进行合成,得到一帧深度图像。

在一个实施例中,所述获取单元1004用于获取第二摄像头在所述曝光时段内根据第二帧率采集的至少两帧第二图像,具体可以为:

控制激光发射器在所述曝光时段内以第二帧率发射的至少两个激光波;

通过第二摄像头在所述曝光时段内采集所述激光波照射物体时所形成的至少两帧对应的第二图像。

在一个实施例中,所述装置1000还包括计算单元(图中未示出),用于通过时间差或相位差法计算所述至少两帧第二图像对应的深度信息。

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

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

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

本申请实施例还提供一种电子设备。上述电子设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义isp(imagesignalprocessing,图像信号处理)管线的各种处理单元。图11为一个实施例中图像处理电路的示意图。如图11所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。

如图11所示,图像处理电路包括第一isp处理器1130、第二isp处理器1140和控制逻辑器1150。第一摄像头1111包括一个或多个第一透镜1112和第一图像传感器1114。第一图像传感器1114可包括色彩滤镜阵列(如bayer滤镜),第一图像传感器1114可获取用第一图像传感器1114的每个成像像素捕捉的光强度和波长信息,并提供可由第一isp处理器1130处理的一组图像数据。第二摄像头1120包括一个或多个第二透镜1122和第二图像传感器1124。第二图像传感器1124可包括色彩滤镜阵列(如bayer滤镜),第二图像传感器1124可获取用第二图像传感器1124的每个成像像素捕捉的光强度和波长信息,并提供可由第二isp处理器1140处理的一组图像数据。

第一摄像头1111采集的第一图像传输给第一isp处理器1130进行处理,第一isp处理器1130处理第一图像后,可将第一图像的统计数据(如图像的亮度、图像的反差值、图像的颜色等)发送给控制逻辑器1150,控制逻辑器1150可根据统计数据确定第一摄像头1111的控制参数,从而第一摄像头1111可根据控制参数进行自动对焦、自动曝光等操作。第一图像经过第一isp处理器1130进行处理后可存储至图像存储器1160中,第一isp处理器1130也可以读取图像存储器1160中存储的图像以对进行处理。另外,第一图像经过isp处理器1130进行处理后可直接发送至显示器1170进行显示,显示器1170也可以读取图像存储器1160中的图像以进行显示。

其中,第一isp处理器1130按多种格式逐个像素地处理图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,第一isp处理器1130可对图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。

图像存储器1160可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括dma(directmemoryaccess,直接直接存储器存取)特征。

当接收到来自第一图像传感器1114接口时,第一isp处理器1130可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器1160,以便在被显示之前进行另外的处理。第一isp处理器1130从图像存储器1160接收处理数据,并对所述处理数据进行rgb和ycbcr颜色空间中的图像数据处理。第一isp处理器1130处理后的图像数据可输出给显示器1170,以供用户观看和/或由图形引擎或gpu(graphicsprocessingunit,图形处理器)进一步处理。此外,第一isp处理器1130的输出还可发送给图像存储器1160,且显示器1170可从图像存储器1160读取图像数据。在一个实施例中,图像存储器1160可被配置为实现一个或多个帧缓冲器。

第一isp处理器1130确定的统计数据可发送给控制逻辑器1150。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、第一透镜1112阴影校正等第一图像传感器1114统计信息。控制逻辑器1150可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定第一摄像头1111的控制参数及第一isp处理器1130的控制参数。例如,第一摄像头1111的控制参数可包括增益、曝光控制的积分时间、防抖参数、闪光控制参数、第一透镜1112控制参数(例如聚焦或变焦用焦距)、或这些参数的组合等。isp控制参数可包括用于自动白平衡和颜色调整(例如,在rgb处理期间)的增益水平和色彩校正矩阵,以及第一透镜1112阴影校正参数。

同样地,第二摄像头1120采集的第二图像传输给第二isp处理器1140进行处理,第二isp处理器1140处理第一图像后,可将第二图像的统计数据(如图像的亮度、图像的反差值、图像的颜色等)发送给控制逻辑器1150,控制逻辑器1150可根据统计数据确定第二摄像头1120的控制参数,从而第二摄像头1120可根据控制参数进行自动对焦、自动曝光等操作。第二图像经过第二isp处理器1140进行处理后可存储至图像存储器1160中,第二isp处理器1140也可以读取图像存储器1160中存储的图像以对进行处理。另外,第二图像经过isp处理器1140进行处理后可直接发送至显示器1170进行显示,显示器1170也可以读取图像存储器1160中的图像以进行显示。第二摄像头1120和第二isp处理器1140也可以实现如第一摄像头1111和第一isp处理器1130所描述的处理过程。

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