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

文档序号:16473536发布日期:2019-01-02 23:21阅读:212来源:国知局

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



背景技术:

摄像头对物体采集的图像通常是由一个二维像素矩阵构成的,而真实的物体是具有三维空间特性的。所以为更准确地表达物体的特征,可以对物体进行三维建模,得到的三维模型能够更真实地反映物体的空间性。



技术实现要素:

本申请实施例提供一种图像处理方法、装置、电子设备、计算机可读存储介质,可以更精确地对图像进行处理。

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

在与目标物体第一距离的位置对所述目标物体进行拍摄,得到第一图像;

在与所述目标物体第二距离的位置对所述目标物体进行拍摄,得到第二图像,其中,所述第一距离小于第二距离;

根据所述第一图像建立所述目标物体对应的第一三维模型,根据所述第二图像建立所述目标物体对应的第二三维模型,其中,所述第一三维模型的分辨率大于所述第二三维模型的分辨率;

根据所述第一三维模型和第二三维模型生成目标三维模型。

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

第一图像获取模块,用于在与目标物体第一距离的位置对所述目标物体进行拍摄,得到第一图像;

第二图像获取模块,用于在与所述目标物体第二距离的位置对所述目标物体进行拍摄,得到第二图像,其中,所述第一距离小于第二距离;

模型建立模块,用于根据所述第一图像建立所述目标物体对应的第一三维模型,根据所述第二图像建立所述目标物体对应的第二三维模型,其中,所述第一三维模型的分辨率大于所述第二三维模型的分辨率;

模型合成模块,用于根据所述第一三维模型和第二三维模型生成目标三维模型。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述步骤。

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

上述图像处理方法、装置、电子设备、计算机可读存储介质,可以在与目标物体第一距离的位置对目标物体进行拍摄得到第一图像,并在与目标物体第二距离的位置对目标物体进行拍摄得到第二图像。由于第一距离和第二距离不同,所以根据第一图像和第二图像建立的三维模型的分辨率也不同。根据不同分辨率的三维模型,生成最终的目标三维模型。得到的目标三维模型可以融合不同分辨率的三维模型,比较重要的部分可以采用高分辨率的模型,次要的部分可以采用低分辨率的模型,这样生成的目标三维模型既可以满足精度的要求,又可以节省电子设备的存储资源。

附图说明

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

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

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

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

图4为一个实施例中三维模型的展示示意图;

图5为一个实施例中生成目标三维模型的示意图;

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

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

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

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

图10为一个实施例中实现图像处理方法的示意图;

图11为一个实施例的图像处理装置的结构框图;

图12为另一个实施例的图像处理装置的结构框图;

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

具体实施方式

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

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

图1为一个实施例中图像处理方法的应用环境图。如图1所示,电子设备10上可以安装摄像头102,并可以在不同的位置通过摄像头102对目标物体12进行拍摄。具体的,电子设备10可以在与目标物体12相隔第一距离d1和第二距离d2的位置分别对目标物体12进行拍摄,在与目标物体12第一距离d1的位置对目标物体12进行拍摄时,得到第一图像;在与目标物体12第二距离d2的位置对目标物体12进行拍摄时,得到第二图像。得到第一图像和第二图像之后,可以根据第一图像建立第一三维模型,根据第二图像建立第二三维模型。最后根据第一三维模型和第二三维模型生成目标三维模型。可以理解的是,上述电子设备10可以是手机、电脑、可穿戴设备等,在此不做限定。

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

步骤202,在与目标物体第一距离的位置对目标物体进行拍摄,得到第一图像。

电子设备上可以安装摄像头,并通过安装的摄像头获取图像。摄像头可以根据获取的图像的不同分为激光摄像头、可见光摄像头等类型,激光摄像头可以获取激光照射到物体上所形成的图像,可见光摄像头可以获取可见光照射到物体上所形成的图像。电子设备上可以安装若干个摄像头,且安装的位置不做限定。

例如,可以在电子设备的正面面板上安装一个摄像头,在背面面板上安装两个摄像头,摄像头还可以以内嵌的方式安装于电子设备的内部,然后通过旋转或滑动的方式打开摄像头。具体地,电子设备上可安装前置摄像头和后置摄像头,前置摄像头和后置摄像头可以从不同的视角获取图像,一般前置摄像头可以从电子设备的正面视角获取图像,后置摄像头可以从电子设备的背面视角获取图像。

在一个实施例中,目标物体是指被拍摄的物体,目标物体的种类不限,例如可以是人像、建筑、动物、树木等。摄像头对目标物体进行拍摄时,可以根据采集目标物体的色彩、纹理、深度等信息,然后根据采集的色彩、纹理、深度等信息生成图像。

可以在与目标物体第一距离的位置对目标物体进行拍摄,即摄像头与目标物体的距离为第一距离,然后通过摄像头来采集第一图像。在采集第一图像的过程中,摄像头和目标物体可以是静止不动的,这样就只能从目标物体的某一个角度生成第一图像。为了采集到更全面的图像,摄像头和目标物体也可以是运动的,这样就可以从多个角度对目标物体生成第一图像。

例如,摄像头可以保持不动,目标物体向左旋转90度,再向右旋转180度,在目标物体旋转的过程中采集多张第一图像,这多张第一图像就可以从多个角度呈现目标物体。或者摄像头绕着目标物体旋转360度进行拍摄,在摄像头旋转的过程中采集多张第一图像。

步骤204,在与目标物体第二距离的位置对目标物体进行拍摄,得到第二图像,其中,第一距离小于第二距离。

在与目标物体第二距离的位置对目标物体进行拍摄,即摄像头与目标物体的距离为第二距离,然后通过摄像头来采集第二图像。其中,第一距离小于第二距离,这样采集得到第一图像和第二图像中,目标物体的分辨率就是不同的。同样的,在采集第二图像的过程中,摄像头和目标物体可以是静止不动的,也可以是运动的,在此不做限定。

需要说明的是,第一图像和第二图像可以是同时采集的,也可以不是同时采集的。采集第一图像和第二图像的可以是同一电子设备,也可以是不同电子设备,在此不做限定。例如,可以首先用电子设备在与目标物体第一距离的位置,对目标物体进行拍摄得到第一图像,第一图像采集完毕之后将电子设备放到与目标物体第二距离的位置,对目标物体进行拍摄得到第二图像。也可以使用两台电子设备分别进行拍摄,将一台电子设备放在与目标物体第一距离的位置,对目标物体进行拍摄得到第一图像,另一台电子设备放在与目标物体第二距离的位置,对目标物体进行拍摄得到第二图像,然后将两台电子设备获取的第一图像和第二图像传到同一台电子设备中进行处理。

步骤206,根据第一图像建立目标物体对应的第一三维模型,根据第二图像建立目标物体对应的第二三维模型,其中,第一三维模型的分辨率大于第二三维模型的分辨率。

在本申请提供的实施例中,第一图像和第二图像的类型在此不做限定,例如可以是rgb(redgreenblue,红绿蓝)图像、红外图像、深度图像等,不限于此。根据第一图像可对目标物体进行建模,得到第一三维模型,根据第二图像可对目标物体进行建模,得到第二三维模型。由于第一图像和第二图像分别是在与目标物体不同距离的位置拍摄出来的,所以根据第一图像建立的第一三维模型和根据第二图像建立的第二三维模型的分辨率是不同的。具体的,第一距离小于第二距离,因此第一图像中目标物体的分辨率大于第二图像中目标物体的分辨率,对应的第一三维模型的分辨率就会大于第二三维模型的分辨率。

举例来说,假设第一图像和第二图像的分辨率相同,电子设备可以在与目标物体相距1米的位置对目标物体进行拍摄得到第一图像,然后在于目标物体相距2米的位置对目标物体进行拍摄得到第二图像,第一图像中目标物体的面积占第一图像面积的二分之一,第二图像中目标物体的面积占第二图像面积的三分之一,即第一图像中目标物体的分辨率大于第二图像中目标物体的分辨率。

具体的,三维模型可以用于表示物体的多边形空间立体结构。三维模型一般可以用三维网格(3dimensionsmesh,3dmesh)结构进行表示,网格是由物体的点云数据组成的。点云数据中一般可以包括三维坐标(xyz)、激光反射强度(intensity)和颜色信息(rgb),最终根据点云数据绘制成三维网格。

步骤208,根据第一三维模型和第二三维模型生成目标三维模型。

形成两个不同分辨率的三维模型后,可以根据两个不同分辨率的三维模型生成最终的一个三维模型。具体的,第一三维模型的分辨率大于第二三维模型的分辨率,则可以分别提取第一三维模型中的部分区域和第二三维模型中的部分区域,然后将提取的第一三维模型中的部分区域与第二三维模型中的部分区域进行拼接,得到最终的目标三维模型。

具体的,由于第一三维模型的分辨率较高,第二三维模型的分辨率较低,所以目标物体中比较重要的部分可以从第一三维模型中提取,次要的部分可以从第二三维模型中提取,然后将提取的部分进行拼接生成最终的目标三维模型。生成目标三维模型之后,可以将目标三维模型进行存储,用户可以随时调取存储的目标三维模型进行查看。例如,可以对人像进行建模,分别得到第一人像三维模型和第二人像三维模型,然后从第一三维模型中提取头部模型,从第二三维模型中提取躯干模型,然后将提取的头部模型和躯干模型进行拼接,生成目标三维模型。

上述实施例提供的图像处理方法,可以在与目标物体第一距离的位置对目标物体进行拍摄得到第一图像,并在与目标物体第二距离的位置对目标物体进行拍摄得到第二图像。由于第一距离和第二距离不同,所以根据第一图像和第二图像建立的三维模型的分辨率也不同。根据不同分辨率的三维模型,生成最终的目标三维模型。得到的目标三维模型可以融合不同分辨率的三维模型,比较重要的部分可以采用高分辨率的模型,次要的部分可以采用低分辨率的模型,这样生成的目标三维模型既可以满足精度的要求,又可以节省电子设备的存储资源。

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

步骤302,获取目标物体的目标标识,并根据预先建立的目标标识与第一距离的对应关系查找目标标识对应的第一距离。

目标标识对目标物体进行标记,例如,目标物体可以是人像,那么目标标识可以是“h_0001”、“h_0002”、“h_0003”,也可以是“张三”、“李四”,不限于此。获取目标物体的目标标识时,可以首先对目标物体进行拍摄,通过拍摄得到的图像进行识别,得到目标物体的目标标识。例如,可以对目标人像进行拍摄,然后将拍摄得到的图像中目标人像的目标人脸与预设人脸进行匹配,然后获取与目标人脸匹配的预设人脸所对应的预设标识,作为目标人像对应的目标标识。可以理解的是,目标标识也可以是通过其他方式获取得到的,例如用户可以手动输入目标物体的目标标识。

电子设备中可以预先建立目标标识与第一距离的对应关系,获取到目标标识之后,可以直接根据建立目标标识与第一距离的对应关系查找目标标识对应的第一距离。例如,可以根据目标物体的大小计算对目标物体进行拍摄的最佳拍摄位置,根据计算的最佳拍摄位置得到第一距离,或者用户可以手动输入第一距离,然后建立第一距离和目标标识的对应关系。

步骤304,根据第一距离获取第二距离。

第一距离一般可以是根据对目标物体的最佳拍摄位置计算得到的,而第二距离则可以根据第一距离进行调节,只要满足第一距离小于第二距离即可。第二距离越大的时候,获取的第二图像中目标物体的分辨率就越低,那么建立的第二三维模型的分辨率就越低,对应得到的目标三维模型的分辨率也会降低,这样就会更加节省电子设备的内存。

具体的,可以获取电子设备的剩余存储空间,并根据所述剩余存储空间和第一距离计算得到第二距离。其中,剩余存储空间是指用于存储目标三维模型的存储空间的剩余空间,一般可以通过百分比的形式表示。电子设备通过外接硬盘存储目标三维模型,那么剩余存储空间就是指该外接硬盘的剩余空间,若通过c盘存储目标三维模型,那么剩余存储空间就是指该c盘的剩余空间,不限于此。剩余存储空间越大,则存储目标三维模型的存储空间越大,目标三维模型的分辨率就可以越大,对应的第二距离就可以设置得小。

在一个实施例中,第二距离还可以是用户根据第一距离输入的,或者电子设备预先根据第一距离计算得到第二距离,然后预先建立目标标识与第二距离的对应关系,获取到目标标识之后,根据目标标识与第二距离的对应关系获取目标标识对应的第二距离,在此不做限定。

步骤306,在与目标物体第一距离的位置对目标物体进行拍摄,得到第一图像,其中,第一图像包括第一纹理图像和第一深度图像。

在本申请提供的实施例中,获取的第一图像中包括第一纹理图像和第一深度图像,纹理图像是指包含物体的纹理特征的图像,深度图像是指包含物体深度信息的图像。例如,纹理图像可以是通过激光摄像头获取的红外图像,纹理图像中还可以包含物体的颜色信息,那么纹理图像就可以是通过可见光摄像头采集的rgb图像、yuv(luminancchrominancechroma,明亮度、色度、浓度)图像等。深度图像可以是根据双目测距法、飞行时间(timeofflight,tof)法、结构光法等方法获取的,不限于此。

具体的,电子设备上可安装第一摄像头和第二摄像头,电子设备在与目标物体第一距离的位置对目标物体进行拍摄,通过第一摄像头采集第一纹理图像,然后通过第二摄像头采集第一深度图像。第一纹理图像和第一深度图像是对应的,第一纹理图像用于表示在第一距离的位置目标物体的纹理特征,第一深度图像用于表示在第一距离的位置采集得到的目标物体的深度信息。

步骤308,在与目标物体第二距离的位置对目标物体进行拍摄,得到第二图像,其中,第一距离小于第二距离,第二图像包括第二纹理图像和第二深度图像。

具体的,在与目标物体第二距离的位置对目标物体进行拍摄,通过第三摄像头采集第二纹理图像,通过第四摄像头采集第二深度图像。其中,采集第一摄像头和第三摄像头可以是同一摄像头,也可以是不同摄像头,第二摄像头和第四摄像头可以是同一摄像头,也可以是不同摄像头,在此不做限定。可以理解的是,采集的第一图像和第二图像的分辨率相同,也可以不同,在此不做限定。例如,采集的第一图像的分辨率高于第二图像的分辨率,对应的目标物体在第一图像中的分辨率高于在第二图像中的分辨率。

步骤310,根据第一纹理图像和第一深度图像建立第一三维模型,并根据第二纹理图像和第二深度图像建立第二三维模型,其中,第一三维模型的分辨率大于第二三维模型的分辨率。

根据纹理图像和深度图像可以建立三维模型,建立三维模型具体可以包括点云计算、点云匹配、数据融合、表面生成等,不限于此。其中,点云计算是指以摄像头建立世界坐标系,将深度图像中的深度信息转换为上述世界坐标系中的三维坐标的过程。通过从不同角度拍摄的多张第一深度图像来构建三维模型时,采集的各张第一深度图像之间可能会存储在公共部分。点云配准就是把不同时间、角度、照度获取的多张第一深度图像叠加匹配到统一的世界坐标系中的过程。经过点云配准后的深度信息仍为空间中散乱无序的点云数据,仅能展现景物的部分信息。因此必须对点云数据进行融合处理,以获得更加精细的重建模型。具体的,数据融合的过程会以摄像头为原点构造体积网格,体积网格把点云空间分割成极多体素(voxel),通过为所有体素赋予sdf(signeddistancefield,有效距离场)值来模拟表面。最后根据构建的体积网格中的体素构建三角面片,把构建的所有三角面片进行连接,从而生成三维模型的表面。最后将纹理图像中的纹理特征与构建的表面进行融合,生成最后的三维模型。

具体的,根据第一纹理图像和第一深度图像建立目标物体对应的第一三维模型,并根据第二纹理图像和第二深度图像建立目标物体对应的第二三维模型。可以构建两个不同分辨率的三维模型,由于第一距离小于第二距离,所以目标物体在第一图像中的分辨率大于在第二图像中的分辨率。

步骤312,获取第一三维模型中的第一目标区域,并获取第二三维模型中的第二目标区域。

根据第一三维模型和第二三维模型生成目标三维模型的过程,具体可以是从第一三维模型中提取第一目标区域,从第二三维模型中提取第二目标区域,然后将提取的第一目标区域和第二目标区域进行拼接。可以理解的是,第一三维模型的分辨率大于第二三维模型的分辨率,所以提取的第一目标区域一般是目标物体中比较重要的区域,需要用高分辨率的三维模型来表达。第二目标区域一般是目标物体中重要性较低的区域,因此用低分辨率的三维模型来表达。

例如,上述目标物体可以是人像,对人像建立一个高分辨率的第一三维模型,和一个低分辨率的第二三维模型,那么第一目标区域就可以是第一三维模型中的头部区域,第二目标区域就可以是第二三维模型中的躯干区域。上述目标物体还可以是一棵树,对树建立第一三维模型和第二三维模型,那么第一目标区域就可以是第一三维模型中的树叶区域,第二目标区域就可以是第二三维模型中的树干区域。

步骤314,将第一目标区域和第二目标区域进行拼接,生成目标三维模型。

将获取的第一目标区域和第二目标区域进行拼接,生成的目标三维模型中就可以结合不同分辨率的三维模型,这样可以既可以精确地表达三维模型,同时又可以节省电子设备的存储空间。生成的目标三维模型可以存储在电子设备中,供用户随时进行查看。

图4为一个实施例中三维模型的展示示意图。如图4所示,在建立的三维坐标系中展示人像三维模型402。该人像三维模型402为一个立体模型,可以从多个角度展示人像。在本实施例中,将人像三维模型402向左转动135°,再向下旋转25°,则得到人像三维模型404。

图5为一个实施例中生成目标三维模型的示意图。如图5所示,建立第一三维模型502和第二三维模型506,第一三维模型502的分辨率大于第二三维模型504的分辨率。从第一三维模型502中抠取头部区域504,并从第二三维模型506中抠取躯干区域508,然后将抠取的头部区域504和躯干区域508进行拼接,即可得到目标三维模型510。

步骤316,获取第一目标区域对应的第一处理参数,并获取第二目标区域对应的第二处理参数。

在本申请提供的实施例中,生成目标三维模型之后,可以将目标三维模型进行处理。由于第一目标区域和第二目标区域的分辨率不同,重要性也不同,因此可以将第一目标区域和第二目标区域分别进行处理。具体的,获取第一目标区域对应的第一处理参数,并获取第二目标区域对应的第二处理参数,然后根据获取的处理参数进行处理。第一处理参数和第二处理参数可以是电子设备预先存储的,也可以是用户输入的,还可以是根据识别到的第一目标区域和第二目标区域进行获取的,在此不做限定。

例如,可以将目标三维模型在电子设备上进行显示,用户可以通过手动对目标三维模型进行编辑,根据用户输入的编辑指令生成处理参数,然后根据生成的处理参数对目标三维模型进行处理。

步骤318,根据第一处理参数和第二处理参数对目标三维模型进行处理。

获取第一处理参数之后,根据获取的第一处理参数对第一目标区域在目标三维模型中对应的区域进行处理,并根据第二处理参数对第二目标区域在目标三维模型中对应的区域进行处理。

例如,第一目标区域为第一三维模型中的头部区域,第二目标区域为第二三维模型中的躯干区域,那么第一处理参数就可以是对头部区域中的人脸进行美颜处理的美颜参数,第二处理参数就可以是对躯干区域进行美体处理的美体参数,则可以根据第一处理参数对目标三维模型中的头部区域进行处理,根据第二处理参数对目标三维模型中的躯干区域进行处理。

在一个实施例中,获取第一图像和第二图像的步骤还可以包括:

步骤602,在与目标物体第一距离的位置,通过第一摄像头根据第一帧率采集第一原始纹理图像,通过第二摄像头以第二帧率采集第一原始深度图像,其中,第一帧率小于第二帧率。

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

具体的,第二摄像头采集的至少两张第一原始深度图像可以用于合成一张第一深度图像,这样就可以避免第二摄像头在采集第一原始深度图像时,产生的空洞现象,提高图像的准确性。例如,第一摄像头可以以30帧/秒的速度来获取第一原始纹理图像,第二摄像头可以以120帧/秒的速度来获取第一原始深度图像。这样在相同的曝光时段内,第一摄像头采集一张第一原始纹理图像,第二摄像头就可以采集四张第一原始深度图像。

步骤604,根据第一原始纹理图像生成第一纹理图像,并根据第一原始深度图像生成第一深度图像。

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

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

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

在一个实施例中,根据第一原始纹理图像生成第一纹理图像的步骤具体包括:将第一原始纹理图像进行第一格式转换,生成第一纹理图像。例如,第一摄像头为可见光摄像头,第一原始纹理图像可以是raw格式的图像,第一纹理图像可以是yuv格式的图像,将raw格式的第一原始纹理图像进行第一格式转换,就可得到yuv格式的第一纹理图像。

根据第一原始深度图像生成第一深度图像具体包括:将至少两张第一原始深度图像进行打包,并将打包后的第一原始深度图像进行第二格式转换,生成第一深度图像。具体的,获取到第一原始深度图像之后,为防止第一原始深度图像在传输过程中丢失,可以将第一原始深度图像进行打包,这样可以使第一原始深度图像在内存上形成一个整体进行传输,以防丢帧。打包之后的第一原始深度图像可以进行第二格式转换,然后生成一张第一深度图像。

例如,第二摄像头可以为激光摄像头,电子设备还可以安装一个激光发射器,激光发射器以一定的频率发射激光波,通过计算激光波的飞行时间,就可以计算出物体到第二摄像头的距离。具体的,通过第二摄像头采集激光波经过物体反射后所形成的第一原始深度图像,然后根据第一原始深度图像得到第一深度图像。

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

其中,c为光速,f为激光波的发射频率。上述公式即可将四张第一原始深度图像进行第二格式转换,生成对应的depth格式的第一深度图像。可以理解的是,获取的第一原始深度图像的图像数量不同时,对应的将第一原始深度图像进行第二格式转换的公式也可能不同。具体的,可以根据第一原始深度图像的图像数量获取对应的第二格式转换公式,根据第二格式转换公式将打包后的第一原始深度图像进行第二格式转换,得到第一深度图像。

步骤606,在与目标物体第二距离的位置,通过第一摄像头根据第一帧率采集第二原始纹理图像,通过第二摄像头以第二帧率采集第二原始深度图像。

在一个实施例中,在与目标物体第二距离的位置,通过第一摄像头采集第二原始纹理图像,通过第二摄像头采集第二原始深度图像。可以理解的是,为保证建立的第一三维模型和第二三维模型的一致性,第二原始纹理图像和第一原始纹理图像的获取方式相同,第二原始深度图像和第一原始深度图像的获取方式相同。

步骤608,根据第二原始纹理图像生成第二纹理图像,并根据第二原始深度图像生成第二深度图像。

具体的,根据第二原始纹理图像生成第二纹理图像的步骤具体包括:将第二原始纹理图像进行第一格式转换,生成第二纹理图像。根据第二原始深度图像生成第二深度图像具体包括:将至少两张第二原始深度图像进行打包,并将打包后的第二原始深度图像进行第二格式转换,生成第二深度图像。

在本申请提供的其他实施例中,获取第二目标区域的步骤具体包括:

步骤802,获取第一三维模型中除第一目标区域之外的第一剩余区域。

在获取到第一三维模型中的第一目标区域之后,可以将第一三维模型中除第一目标区域之外的区域作为第一剩余区域,然后根据第一剩余区域从第二三维模型中获取第二目标区域。具体的,第一目标区域可以是用户手动选择的,也可以是电子设备自动选择的。例如,生成第一三维模型之后,将第一三维模型进行展示,然后用户根据展示的第一三维信息手动第一目标区域。获取电子设备可以自动识别某一个特征的区域,并将该特定的区域作为第一目标区域。

在一个实施例中,电子设备可以检测第一三维模型的纹理特征,根据纹理密度将第一三维模型划分为不同的纹理区域,并将纹理密度大于密度阈值的纹理区域作为第一目标区域。纹理密度越大的纹理区域,存在的细节信息越多,则可以认为该纹理区域越重要。例如,树的树叶部分的纹理密度较大,说明树叶部分的细节信息较多,则可以将树叶部分作为第一目标区域。

步骤804,获取第一剩余区域在第二三维模型中对应的区域,作为第二目标区域。

由于第一三维模型和第二三维模型是对应的,所以第一三维模型和第二三维模型的各个区域也是对应的。在获取第一三维模型中的第一剩余区域之后,可以获取第一剩余区域在第二三维模型中对应的区域,作为第二目标区域。然后将第一目标区域和第二目标区域进行拼接,生成目标三维模型。

例如,目标物体可以是汽车,对汽车建立第一三维模型和第二三维模型,那么可以将第一三维模型中车身所在的区域作为第一目标区域,那么第一三维模型中的车胎所在的区域就是第一剩余区域。第一剩余区域在第二三维模型中对应的区域就是第二三维模型中的车胎所在的区域,则第二三维模型中车胎所在的区域即为第二目标区域。

上述实施例提供的图像处理方法,可以根据不同分辨率的三维模型,生成最终的目标三维模型。得到的目标三维模型可以融合不同分辨率的三维模型,比较重要的部分可以采用高分辨率的模型,次要的部分可以采用低分辨率的模型,这样生成的目标三维模型既可以满足精度的要求,又可以节省电子设备的存储资源。

应该理解的是,虽然图2、3、6、8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、6、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。

在一个实施例中,应用程序902可用于发起图像采集指令,然后将图像采集指令发送到接口922。例如,应用程序902需要进行三维建模的时候,可以发起图像采集指令。接口922对图像采集指令解析之后,可以通过摄像头驱动942对摄像头的配置参数,然后将配置参数发送给图像处理器966,并通过图像处理器966控制第一摄像头962和第二摄像头964打开。第一摄像头962和第二摄像头964打开之后,可通过摄像头同步模块946控制第一摄像头962和第二摄像头964同步采集图像。电子设备在与目标物体第一距离的位置会通过第一摄像头962采集第一原始纹理图像,通过第二摄像头964采集第一原始深度图像。然后分别根据第一原始纹理图像和第一原始深度图像,生成第一纹理图像和第一深度图像,并将第一纹理图像和第一深度图像返回给应用程序902。电子设备在与目标物体第二距离的位置会通过第二摄像头962采集第二原始纹理图像,通过第二摄像头964采集第二原始深度图像。然后分别根据第二原始纹理图像和第二原始深度图像,生成第二纹理图像和第二深度图像,并将第二纹理图像和第二深度图像返回给应用程序902。

这里以返回第一纹理图像和第一深度图像的过程为例进行说明,具体如下:第一摄像头962采集的第一原始纹理图像和第二摄像头964采集的第一原始深度图像会发送给图像处理器966,然后通过图像处理器966将第一原始纹理图像和第一原始深度图像发送给摄像头标定模块944。摄像头标定模块944会将第一原始纹理图像和第一原始深度图像进行对齐处理,然后将对齐后的第一原始纹理图像和第一原始深度图像发送到硬件抽象层92。硬件抽象层92中的图像同步模块924会根据采集第一原始纹理图像的第一时刻与采集第一原始深度图像的第二时刻,判断第一原始纹理图像和第一原始深度图像是否为同时获取的。若是,才会通过图像算法模块926根据第一原始纹理图像计算得到第一纹理图像,并根据第第一原始深度图像计算得到第一深度图像。第一纹理图像和第一深度图像会通过应用算法模块928进行打包等处理,然后将打包等处理后的第一纹理图像和第一深度图像通过接口922发送给应用程序902,应用程序902获取到第一纹理图像和第一深度图像后,可以根据第一纹理图像和第一深度图像进行三维建模处理。

图10为一个实施例中实现图像处理方法的示意图。如图10所示,第一摄像头和第二摄像头在采集图像的过程中需要进行摄像头同步处理,此处以采集第一纹理图像和第一深度图像的过程为例进行说明。第一摄像头可以根据第一帧率采集第一原始纹理图像,第二摄像头可以根据第二帧率采集至少两张第一原始深度图像。第一摄像头采集的第一原始纹理图像可与对应的第一时间戳发送到第一缓冲器,第二摄像头采集的第一原始深度图像可以与对应的标志信息进行打包,并将打包后的第一原始深度图像和标志信息与对应的第二时间戳发送给第二缓冲器。其中,第一时间戳用于表示采集第一原始纹理图像的第一时刻,第二时间戳用于表示采集第一原始深度图像的第二时刻。当第一时间戳与第二时间戳之间的时间间隔小于第一间隔阈值时,读取第一缓冲器中的第一原始纹理图像,并将第一原始纹理图像进行第一格式转换之后得到第一纹理图像,将第一纹理图像发送给第三缓冲器中;读取第二缓冲器中的第一原始深度图像及对应的标志信息,然后根据标志信息将第一原始深度图像进行第二格式转换后得到第一深度图像,并将第一深度图像发送到第四缓冲器。第一纹理图像和第一深度图像在发送给应用程序之前,可以进行打包处理,然后将打包后的第一纹理图像和第一深度图像发送到第五缓冲器中。应用程序可以从第五缓冲器中读取打包后的第一纹理图像和第一深度图像,并根据读取的第一纹理图像和第一深度图像进行三维建模等处理。

图11为一个实施例的图像处理装置的结构框图。如图11所示,该图像处理装置1100包括第一图像获取模块1102、第二图像获取模块1104、模型建立模块1106和模型合成模块1108。其中:

第一图像获取模块1102,用于在与目标物体第一距离的位置对所述目标物体进行拍摄,得到第一图像。

第二图像获取模块1104,用于在与所述目标物体第二距离的位置对所述目标物体进行拍摄,得到第二图像,其中,所述第一距离小于第二距离。

模型建立模块1106,用于根据所述第一图像建立所述目标物体对应的第一三维模型,根据所述第二图像建立所述目标物体对应的第二三维模型,其中,所述第一三维模型的分辨率大于所述第二三维模型的分辨率。

模型合成模块1108,用于根据所述第一三维模型和第二三维模型生成目标三维模型。

上述实施例提供的图像处理装置,可以根据不同分辨率的三维模型,生成最终的目标三维模型。得到的目标三维模型可以融合不同分辨率的三维模型,比较重要的部分可以采用高分辨率的模型,次要的部分可以采用低分辨率的模型,这样生成的目标三维模型既可以满足精度的要求,又可以节省电子设备的存储资源。

图12为另一个实施例的图像处理装置的结构框图。如图12所示,该图像处理装置1200包括距离获取模块1202、第一图像获取模块1204、第二图像获取模块1206、模型建立模块1208、模型合成模块1210和模型处理模块1212。其中:

距离获取模块1202,用于获取目标物体的目标标识,并根据预先建立的目标标识与第一距离的对应关系查找所述目标标识对应的第一距离;根据所述第一距离获取第二距离。

第一图像获取模块1204,用于在与目标物体第一距离的位置对所述目标物体进行拍摄,得到第一图像。

第二图像获取模块1206,用于在与所述目标物体第二距离的位置对所述目标物体进行拍摄,得到第二图像,其中,所述第一距离小于第二距离。

模型建立模块1208,用于根据所述第一图像建立所述目标物体对应的第一三维模型,根据所述第二图像建立所述目标物体对应的第二三维模型,其中,所述第一三维模型的分辨率大于所述第二三维模型的分辨率。

模型合成模块1210,用于根据所述第一三维模型和第二三维模型生成目标三维模型。

模型处理模块1212,用于获取所述第一目标区域对应的第一处理参数,并获取第二目标区域对应的第二处理参数;根据所述第一处理参数和所述第二处理参数对目标三维模型进行处理。

上述实施例提供的图像处理装置,得到的目标三维模型可以融合不同分辨率的三维模型,比较重要的部分可以采用高分辨率的模型,次要的部分可以采用低分辨率的模型,这样生成的目标三维模型既可以满足精度的要求,又可以节省电子设备的存储资源。

在一个实施例中,所述第一图像包括第一纹理图像和第一深度图像,所述第二图像包括第二纹理图像和第二深度图像;模型建立模块1208还用于根据所述第一纹理图像和第一深度图像建立所述目标物体对应的第一三维模型,并根据所述第二纹理图像和第二深度图像建立所述目标物体对应的第二三维模型。

在一个实施例中,第一图像获取模块1204还用于在与目标物体第一距离的位置,通过第一摄像头根据第一帧率采集第一原始纹理图像,通过第二摄像头以第二帧率采集第一原始深度图像,其中,所述第一帧率小于第二帧率;根据所述第一原始纹理图像生成第一纹理图像,并根据所述第一原始深度图像生成第一深度图像。

在一个实施例中,第二图像获取模块1206还用于在与目标物体第二距离的位置,通过第一摄像头根据第一帧率采集第二原始纹理图像,通过第二摄像头以第二帧率采集第二原始深度图像;根据所述第二原始纹理图像生成第二纹理图像,并根据所述第二原始深度图像生成第二深度图像。

在一个实施例中,模型合成模块1210还用于获取所述第一三维模型中的第一目标区域,并获取所述第二三维模型中的第二目标区域;将所述第一目标区域和第二目标区域进行拼接,生成目标三维模型。

在一个实施例中,模型合成模块1210还用于获取所述第一三维模型中除所述第一目标区域之外的第一剩余区域;获取所述第一剩余区域在所述第二三维模型中对应的区域,作为第二目标区域。

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

关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本申请实施例中提供的图像处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。

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

如图13所示,图像处理电路包括第一isp处理器1330、第二isp处理器1340和控制逻辑器1350。第一摄像头1310包括一个或多个第一透镜1312和第一图像传感器1314。第一图像传感器1314可包括色彩滤镜阵列(如bayer滤镜),第一图像传感器1314可获取用第一图像传感器1314的每个成像像素捕捉的光强度和波长信息,并提供可由第一isp处理器1330处理的一组图像数据。第二摄像头1320包括一个或多个第二透镜1322和第二图像传感器1324。第二图像传感器1324可包括色彩滤镜阵列(如bayer滤镜),第二图像传感器1324可获取用第二图像传感器1324的每个成像像素捕捉的光强度和波长信息,并提供可由第二isp处理器1340处理的一组图像数据。

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

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

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

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

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

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

以下为运用图13中图像处理技术实现图像处理方法的步骤。

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

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

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