掌桥专利:专业的专利平台
掌桥专利
首页

一种图像处理方法及装置

文献发布时间:2023-06-19 18:35:48


一种图像处理方法及装置

技术领域

本申请涉及图像处理领域,具体涉及一种图像处理方法及装置。

背景技术

随着科技的发展,人们对相机等具有拍照功能的设备要求越来越高,因此,市面上具有拍照的设备开始从之前的单摄像头变为双摄像头、三摄像头等多摄像头的设备,例如:已经有的双摄手机、三摄手机等。

多摄设备比传统的单摄设备拍出来的照片更加清晰,但是由于多摄设备获取的左右视图中存在遮挡的现象或者拍摄的场景中存在弱纹理区域,这些情况将导致通过双目深度估计获取的深度图存在孔洞现象。

传统的消除孔洞方法主要是通过近邻填充来对孔洞进行填充,但是这种孔洞填充方式对深度图像边缘的保护较弱,会导致深度图像边缘区域存在深度扩散的问题。

发明内容

本申请实施例提供一种图像处理方法及装置,可以提高深度图像的清晰度。

一方面,本申请提供一种图像处理方法,包括:

获取待处理图像以及所述待处理图像对应的待处理深度图

对所述待处理深度图进行孔洞识别,得到待处理孔洞;

根据所述待处理孔洞在所述待处理图像中的空间信息、以及所述待处理图像中像素点的颜色信息,确定所述待处理孔洞的目标深度信息;

根据所述待处理孔洞的目标深度信息对所述待处理深度图进行处理,得到处理后的深度图。

一方面,本申请提供一种图像处理装置,包括:

第一获取模块,用于获取待处理图像以及所述待处理图像对应的待处理深度图;

孔洞识别模块,用于对所述待处理深度图进行孔洞识别,得到待处理孔洞;

第一确定模块,用于根据所述待处理孔洞在所述待处理图像中的空间信息、以及所述待处理图像中

像素点的颜色信息,确定所述待处理孔洞的目标深度信息;

第一处理模块,用于根据所述待处理孔洞的目标深度信息对所述待处理深度图进行处理,得到处理后的深度图。

另一方面,本申请提供一种图像处理装置,还包括:

第二获取模块,用于获取所述处理后的深度图中的待处理孔洞以及所述待处理孔洞的空间信息;

第二确定模块,用于根据所述待处理孔洞的空间信息,确定所述待处理图像中多个第三非目标像素点;

第三获取模块,用于获取所述待处理孔洞分别与所述多个第三非目标像素点的位置关系;

第四获取模块,用于若所述位置关系满足预设距离阈值,则获取所述多个第三非目标像素点深度的最小值;

第二处理模块,用于根据所述深度最小值对所述待处理孔洞进行修复处理,得到处理后的第二深度图。

另一方面,本申请提供一种图像处理装置,还包括:

第五获取模块,用获取所述第二深度图中的待处理孔洞以及所述待处理孔洞的空间信息;

第三确定模块,用于根据所述待处理孔洞的空间信息,确定所述待处理图像中多个第四非目标像素点;

第六获取模块,用于获取所述多个第四非目标像素点的深度值;

第四确定模块,用于根据所述多个第四非目标像素点的深度值,得到所述多个第四非目标像素点对应的深度均值;

第三处理模块,用于根据所述深度均值对所述待处理孔洞进行处理,得到处理后的第三深度图。

相应的,本申请实施例提供了一种电子设备,其包括处理器和存储器,存储器存储有多条指令,指令适于处理器进行加载,以执行上述图像处理方法中的步骤。

此外,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述图像处理方法中的步骤。

本申请实施例提供了一种图像处理方法及装置,该方法获取待处理图像以及待处理图像对应的待处理深度图;再对待处理深度图进行孔洞识别,得到待处理孔洞;再根据待处理孔洞在待处理图像中的空间信息、以及待处理图像中像素点的颜色信息,确定待处理孔洞的目标深度信息;最后,根据目标

深度信息对待处理深度图进行处理,得到处理后的深度图。本申请根据待处理孔洞在待处理图像中的空间信息,以及待处理图像中像素点的颜色信息对待处理孔洞进行填充,能有效减弱因孔洞填充引起的深度扩散问题,提高了深度图像的清晰度。

附图说明

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

图1是本申请实施例提供的图像处理系统的场景示意图;

图2a是本申请实施例提供的图像处理方法的一种流程图;

图2b是本申请实施例提供的根据第一深度异常阈值剔除待处理深度图中深度异常值方法的流程示意图;

图3是本申请实施例提供的斑点区域确定方法示意图;

图4是本申请实施例提供的图像处理方法的另一种流程图;

图5是本申请实施例提供的第三非目标子像素确定方法示意图;

图6是为本申请实施例提供的图像处理方法的另一种流程图

图7a是本申请实施例提供的图像处理装置的第一种结构示意图;

图7b是本申请实施例提供的图像处理装置的另一种结构示意图;

图7c是本申请实施例提供的图像处理装置的另一种种结构示意图;

图8是本申请实施例提供的服务器的结构示意图。

图9a是本申请实施例提供的待处理深度图。

图9b是本申请实施例提供的处理后得到的第三深度图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种图像处理方法及装置、电子设备及存储介质。其中,该图像处理可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备,其中,该终端可以包括平板电脑、笔记本电脑、个人计算(PC,Personal Computer)、微型处理盒子、或者其他设备等。

本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而非用于描述特定的顺序。

在本申请实施例中,深度图中某一像素点的深度值表示该像素点的图像所对应的物体(或者人体)与摄像头之间的距离值。深度图中的噪声会导致一些像素点的深度值错误,因此需要去除;本申请将这些噪声对应的像素点(即下文中的深度值异常的点)先处理为孔洞,然后根据孔洞周围的其他像素点的深度值确定这些孔洞对应的像素点的理想深度值(即下文中的目标深度值,也即实际深度值或近似实际深度值)。孔洞可以仅包括一个像素点,也可以包括多个相邻像素点,下文针对这两种情况下孔洞的填充方法也分别进行了阐述。

本申请实施例中,多摄系统指的是通过两个及两个以上摄像头进行拍照的设备,包括但不局限于双摄手机、三摄手机等多摄设备。

请参阅图1,图1为本申请实施例提供的图像处理方法的场景示意图,包括:电子设备11、多摄系统12、数据库13、网络14,其中:

电子设备11负责对获取到的多张物体图像进行深度识别得到深度图,再对深度图中的孔洞区域进行填充,得到填充后的深度图,电子设备11中包括处理器,电子设备11可以是任何能够实现本申请实施例提供的图像处理方法的设备。

多摄系统12负责采集同一物体的同一时刻多张图像,多摄系统12指的是通过两个及两个以上摄像头进行拍照的设备,包括但不局限于双摄手机、三摄手机等,在本申请实施例中多摄系统12为双摄手机。

数据库13负责存储多张物体图像,数据库13包括本地数据库和/或云端数据库等。

网络14负责将来自多摄系统12或者数据库13的多张物体图像传输到电子设备11。

一种实施例中,在多摄系统12在采集到目标物在同一时间的多张物体图像后,可以通过网络14来获取多摄系统12采集到的图像数据,再通过网络14向电子设备11传输该目标物在同一时间的多张物体图像,电子设备11执行本申请提供的图像处理方法对该多张物体图像进行深度识别得到深度图,再对深度图中的孔洞区域进行填充,得到填充后的深度图。

在另一种实施例中,可以将多摄系统12与数据库13建立连接,将多摄系统12采集到的目标物在同一时间的多张物体图像存储在数据库13中,然后通过网络14来获取存储在数据库13中的图像数据,电子设备11对获取到的目标物在同一时间的多张物体图像进行深度识别得到深度图,再对深度图中的孔洞区域进行填充,得到填充后的深度图。

需要说明的是,图1所示的图像处理系统的场景示意图仅仅是一个示例,本申请实施例描述的电子设备以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

请参阅图2a,图2a是本申请实施例提供的图像处理方法的一种流程示意图,该方法可以运用在一个或者多个服务器内;请参阅图2a,该图像处理方法包括以下步骤:

步骤201:获取待处理图像以及所述待处理图像对应的待处理深度图;

在一种实施例中,所述获取待处理图像以及所述待处理图像对应的待处理深度图的步骤,包括:通过多摄系统获取目标物在同一时间的多张物体图像;对所述多张物体图像进行深度估计处理,得到所述多张物体图像对应的待处理深度图;根据所述多张物体图像,得到所述待处理深度图对应的待处理图像。

在实际场景中,通过双摄获取目标物的左右视图中存在遮挡现象或者拍摄的场景无法避免存在弱纹理区域的场景,这些情况将会导致双目深度估计获取的深度图存在孔洞现象,因此,需要解决深度图存在孔洞的现象。

在本实施例中,通过双摄像头手机获取环境中目标物在同一时间的多张物体图像,为说明方便本申请中目标物为人,双摄手机的左右摄像头分别获取人在同一时间的左摄图F1、右摄图F2。

利用深度估计算法对获取到的左摄图F1和右摄图F2进行深度估计,得到待处理深度图D1。

在一种实施例中,将左摄图F1或者经处理后左摄图F1作为待处理图像P。

在另一种实施例中,将右摄图F2或者经处理后左摄图F2作为待处理图像P。

在另一种实施例中,可以将左摄图F1、右摄图F2进行组合处理得到的图像作为待处理图像P。

步骤202:对待处理深度图进行孔洞识别,得到待处理孔洞;

在本申请中,所述待处理深度图为需要进行处理的深度图像,该深度图像中包含若干个像素点,所述孔洞指的是待处理深度图中深度值小于或等于深度处理阈值对应的像素点,深度处理阈值根据实际需求而设定(例如0或者1等其他任意数值),在此不做限定,本申请中将深度处理阈值设定为零,将待处理深度图中所有的深度值为小于或等于零的像素点都确定为待处理孔洞,如图9a所示为本申请实施例提供的待处理深度图,其中画面中显示的是人体图像,人体图像中的灰色区域代表像素点的深度值不为零,黑色空缺的区域代表像素点的深度值等于零。

在一种实施例中,对待处理深度图中所有的像素点进行识别,判断所有像素点中的深度值为零的像素点,将各深度值为零的像素点都确定为待处理孔洞。

在本申请中为了确定孔洞,先确定深度图中所有深度值异常的点,并将这些点处理为孔洞。具体的,在待处理深度图中可能会出现一些深度值异常的像素点,深度值异常的像素点包括深度值异常高(比如深度值大于第一深度异常阈值)的像素点和深度值异常低(比如深度值小于第二深度异常阈值)的像素点,这些深度值异常的像素点会影响深度图的显示效果,因此,需要找出这些深度值异常的像素点,将深度值异常的像素点的深度值调整为零(即上文中的处理为孔洞),以便于后续对所有深度值为零的像素点进行修复处理,修复处理的过程就是将深度值为零的像素点用目标深度值进行填充,如何确定目标深度值在下文中会详细说明。在一种实施例中,所述对所述待处理深度图进行孔洞识别,得到待处理孔洞的步骤,包括:获取待处理深度图及所述待处理深度图中像素点的深度值;获取第一深度异常阈值和第二深度异常阈值;根据所述第一深度异常阈值和第二深度异常阈值,剔除所述待处理深度图中深度异常值,得到目标深度图;对所述目标深度图进行孔洞识别,得到待处理孔洞。

在本申请中,所述第一深度异常阈值代表待处理深度图中所有像素点的深度值都不能高于此第一深度异常阈值,若像素点的深度值高于第一深度异常阈值,则表示该像素点为深度值为异常高的像素点,因此可以通过比较待处理深度图中所有像素点的深度值与第一深度异常阈值的大小,来确定待处理深度图中深度值异常高的像素点。第一深度值可以根据实际需求进行设定(例如人工经验),也可以根据自适应方式进行计算得到,通过自适应方式计算得到的方法在下文中有详细说明。

深度图可能存在一些斑点区域(例如图9a中白色矩形框中的区域)也就是一些细小的连通域(这些连通域中的像素点数量小于某一阈值,例如50或者100等任意值),连通域是指深度图中深度值相同且位置相邻的至少两个像素点组成的图像区域。深度图中的斑点区域容易出现深度值异常低的像素点,因此需要找出斑点区域中深度值异常低的像素点,将深度值异常的像素点的深度值调整为零(即上文中的处理阈值),以便于后续对所有深度值为零的像素点进行修复处理。

首先确定待处理图像中的斑点区域,对待处理图像进行二值化处理得到多个连通域,通过计算各连通域中像素点的总数与预设斑点域阈值进行比较,若连通域中像素点的总数小于该预设斑点域阈值,则该连通域为斑点区域。

下一步,确定各斑点区域中的深度值异常低的像素点,首先计算每个斑点区域的深度均值(即对此连通域中所有的像素点对应的深度值求均值),通过将深度均值与第二深度异常阈值对比,来判断是否为异常斑点。若该斑点区域的深度均值小于第二深度异常阈值,则该斑点区域为深度值异常区域,将该斑点区域中所有像素点的深度值调整为零。第二深度异常阈值根据实际需求进行设定,例如人工经验,具体设定方式在此不做限定。

在一种实施例中,所述根据所述第一深度异常阈值和第二深度异常阈值,确定所述待处理深度图中的异常像素点,并对所述异常像素点的深度值进行调整,得到目标深度图的步骤,包括:若所述待处理深度图中像素点的深度值大于所述第一深度异常阈值,则所述像素点为异常像素点;获取所述待处理深度图中斑点区域及所述斑点区域中像素点的深度均值;若所述深度均值小于所述第二深度异常阈值,则所述斑点区域中像素点为异常像素点;将所述异常像素点对应的深度值调整为零;根据所述深度值更新所述待处理深度图,得到目标深度图。

如图2b所示,图2b是本申请实施例提供的根据第一深度异常阈值剔除待处理深度图中深度异常值方法的流程示意图。结合图2b对上述步骤202中的内容进行详细说明。

步骤2001:获取待处理深度图D1以及待处理深度图中像素点i的深度值Fi,其中,i=1,Fi>=0,即规定像素点i的初始值为1。

步骤2002:确定第一深度异常阈值T1。

本申请可以通过人工设置的方式或者自适应设置的方式来确定第一深度异常阈值T1;人工设置的方式在上文中已进行描述,下文针对自适应方式进行详细描述。

由于深度值高的像素点多为零散斑点(即相互独立的仅包括一个像素点或者多个像素点的斑点),与正常像素点的深度值差值较大,在整个深度图中像素占比较小,通过统计深度值高的像素点值的占比,来确定第一深度异常阈值。

在一种实施例中,自适应设置方式包括:获取所述待处理深度图中像素点的各深度值各自分别对应的第二数量;获取所述待处理深度图的宽度信息和高度信息;根据所述第二数量、所述宽度信息、所述高度信息,得到各深度值对应的占比统计值;若所述像素点的深度值对应的占比统计值大于或等于预设占比阈值,则该像深度值为第一深度异常阈值。

现结合具体实施例对如何自适应确定第一深度异常阈值T1进行举例说明:

参考公式1,其中,count(i)是深度图D1中深度值为i的像素点数,即第二数量,1,h分别为深度图D1的宽和高,hist(i)是深度值为i的像素点在深度图D1中的占比值,w为占比统计值,th为预设占比阈值,通常为某一经验值。

首先,获取待处理深度图中各像素值对应的像素点的第二数量,由于待处理深度图中像素i的取值范围是1到255的整数,因此,需要计算深度值为255的像素点的总数即第二数量count(255),深度值为254的像素点的总数即第二数量count(254),深度值为253的像素点的总数即第二数量count(253),依次递减,最后计算到深度值为1的像素点的总数即第二数量count(253),再根据第二数量、深度图D1的宽和高得到各深度值的占比,例如:深度值为255的像素点在深度图中的占比值hist(255)=count(255)/(l*h);深度值为254的像素点在深度图中的占比值hist(254)=count(254)/(l*h);深度值为253的像素点在深度图中的占比值hist(253)=count(253)/(l*h),以此类推,深度值为1的像素点在深度图中的占比值hist(1)=count(1)/(l*h)。

下一步,深度值由高值到低值对应的占比值进行累加,得到占比统计值w,其中,深度值255对应的占比统计值w(255)=w(0)+hist(255),由于w(0)为0,因此,深度值255对应的占比统计值w(255)=w(0)+hist(255);深度值254对应的占比统计值w(254)=w(0)+hist(255)+hist(254);深度值253对应的占比统计值w(253)=w(0)+hist(255)+hist(254)+hist(253);深度值252对应的占比统计值w(252)=w(0)+hist(255)+hist(254)+hist(253)+hist(252);深度值251对应的占比统计值w(251)=w(0)+hist(255)+hist(254)+hist(253)+hist(252)+hist(251);深度值250对应的占比统计值w(250)=w(0)+hist(255)+hist(254)+hist(253)+hist(252)+hist(251)+hist(250);依次类推,深度值1对应的占比统计值w(1)=w(0)+hist(255)+hist(254)+w(253)+hist(252)+hist(251)+hist(250)+......+hist(5)+hist(4)+hist(3)+hist(2)+hist(1)。

最后一步,比较各深度值对应的占比统计值与占比阈值th的大小,若深度值i对应的占比统计值w(i)大于或等于占比阈值th,则深度值i为第一深度异常阈值T1,例如:w(200)大于或等于占比阈值th,则第一深度异常阈值T1为200。

2013:Fi>T1?,即判断Fi是否大于T1,若Fi大于T1,则执行步骤2004,将像素点1对应的深度值Fi记为零,且i=i=1;若Fi不大于T1,则执行步骤2005。

步骤2004:Fi=0,i=i+1,若Fi大于T1,则执行此步骤,例如:若i=1,F1大于T1,则F1=0,i=1+1。

步骤2005:Fi=Fi,i=i+1,即像素点i对应的深度值Fi不变。

步骤2006:判断i是否等于I,其中,I为待处理深度图D1中所有的像素点总数,i为当前像素点数量,若当前像素点数量等于待处理深度图D1中所有的像素点总数,则结束该流程,若当前像素点数量不等于待处理深度图D1中所有的像素点总数,则返回步骤2003,按照上述方法执行步骤2003及其以下步骤。

以上步骤是根据第一深度异常阈值剔除待处理深度图中深度值异常高的像素点,接下来,要根据第二深度异常阈值剔除待处理深度图中深度值异常低的像素点,以下内容对剔除深度值异常低的像素点进行说明。

在一种实施例中,所述获取所述待处理深度图中斑点区域及所述斑点区域中像素点的深度均值的步骤,包括:对所述待处理深度图进行二值化处理,得到所述待处理深度图中的连通域;获取所述连通域中的像素点的第三数量;若第三数量小于所述预设斑点域阈值,则将所述连通域作为斑点区域;获取所述斑点区域内的所有像素点的深度值;根据所述所有像素点的深度值,得到所述斑点区域中像素点的深度均值。

如图3所示,其中,黑色的点为像素点,首先确定斑点区域,将待处理深度图D1进行二值化处理,即:通过二值图轮廓提取方法对待处理深度图D1进行检测得到待处理深度图中的连通域,为方便说明,假设D1中有4个连通域,连通域1、连通域2、连通域3、连通域4,先分别获取4个连通域个的像素点的个数,即第三数量,连通域1的第三数量为7,连通域2的第三数量为9,连通域3的第三数量为4,连通域4的第三数量为5,假设预设斑点域阈值为6,因为,连通域1和联通域2的第三数量都大于预设斑点域阈值,连通域3和联通域4的第三数量都小于预设斑点域阈值,所以,连通域1和联通域2部位斑点区域,连通域3和联通域4为斑点区域。

确定完斑点区域,下一步就是获取所述斑点区域内的所有像素点的深度值;根据所述所有像素点的深度值,得到所述斑点区域中像素点的深度均值,若所述深度均值小于所述第二深度异常阈值,则将所述像素对应的深度值记为零。

例如:分别获取连通域3和连通域4中所有像素点的深度值,根据所述所有像素点的深度值,得到所述斑点区域中像素点的深度均值,假设:连通域3中像素点的深度均值为120,连通域4中像素点的深度均值为80,第二深度异常阈值为100,因为连通域3中像素点的深度均值为大于第二深度异常阈值,所以,连通域3各像素点的深度值不改变,即:Fi=Fi,因为连通域4像素点的深度均值为小于第二深度异常阈值,所以,连通域4中各像素点的深度值记为零,即:Fi=0。

由以上内容中已经剔除了深度异常的像素点,最后,根据深度数据Fi更新待处理深度图D1,得到目标深度图D2,接下来就需要对目标深度图进行孔洞识别,得到待处理孔洞。

在一种实施例中,所述对所述目标深度图进行孔洞识别,得到待处理孔洞的步骤,包括:获取所述目标深度图对应的第一掩膜图;根据所述第一掩膜图对所述目标深度图进行孔洞识别,得到待处理孔洞。

所述获取所述目标深度图对应的第一掩膜图的步骤,包括:获取所述目标深度图中所有像素点的深度值;将所述深度值小于或等于零的像素点对应的掩膜数据作为待处理数据;根据所述待处理数据,得到所述待处理深度图对应的第一掩膜图。

获取目标深度图D2中所有像素点的深度值,将深度值大于零的像素点对应的掩膜数据类型记为不处理数据,即:将深度值大于零的像素点对应的掩膜数据记为0,将所述深度值小于等于零的像素点对应的掩膜数据类型记为待处理数据,即:将深度值小于等于零的像素点对应的掩膜数据记为255,其中,掩膜数据为0的像素点是不需要填充的点,掩膜数据为255的像素点是需要填充的点,最后,根据像素点对应的掩膜数据类型,得到待处理深度图对应的第一掩膜图,即:得到深度图D2中每一个像素点对应的掩膜数据,以便根据掩膜数据来判断对应的像素点是否需要填充。

步骤203:根据待处理孔洞在待处理图像中的空间信息、以及待处理图像中像素点的颜色信息,确定待处理孔洞的目标深度信息;

在本申请中,所述颜色信息为像素点中用于体现色彩特征的信息,包括像素的亮度L,红绿色差A(红色到绿色的范围),蓝黄色差B(黄色到蓝色的范围),通过像素点间的颜色信息可以计算出两不同像素点间的色差,其中,待处理图像中像素点的颜色信息可以是待处理图像中的所有像素点的颜色信息,也可以是待处理图像中的部分像素点的颜色信息,根据实际情况而定,具体情况在下文中详细介绍。所述空间信息为待处理孔洞与待处理图像的目标区域中非孔洞点(第一非目标像素点)的距离,其中,待处理图像的目标区域为预设目标区域,预设目标区域的确定方法为:以待处理孔洞在待处理图像中对应的坐标为圆心,以R为半径的一个圆所在的区域。在本申请中,所述第二非目标像素点为第一非目标像素点中与待处理孔洞颜色相近的点,即色差小于某一阈值。

在一种实施例中,所述根据所述待处理孔洞在所述待处理图像中的空间信息、以及所述待处理图像中像素点的颜色信息,确定所述待处理孔洞的目标深度信息的步骤,包括:根据所述待处理孔洞在所述待处理图像中的位置,在所述待处理图像中确定预设目标窗口;获取所述预设目标窗口内的第一非目标像素点;根据所述第一非目标像素点的颜色信息与所述待处理孔洞的颜色信息,确定所述第一非目标像素点中第二非目标像素点;所述第二非目标像素点的第一数量大于第一预设阈值,则获取第一目标深度值;根据所述第一目标深度值,确定所述待处理孔洞的目标深度信息。

在一种实施例中,所述根据所述第一非目标像素点与所述待处理孔洞的颜色关系,确定所述第一非目标像素点中第二非目标像素点的步骤,包括:计算所述待处理孔洞的颜色信息与所述第一非目标像素点的颜色信息的差值;将所述差值小于第二预设阈值的第一非目标像素点,确定为第二非目标像素点。

以下为对步骤203内容中的子步骤:获取所述第二非目标像素点的第一数量进行说明进行详细说明。

首先,以待处理孔洞在待处理图像中对应的位置为中心,在待处理图像中确定预设目标窗口,假设待处理孔洞1在深度图中的坐标为D(x1,y1),在待处理图像中找到坐标为D(x1,y1)对应的像素点1,以像素点1位中心,在待处理图像中取半径为R的窗口,该窗口可以以像素点1为圆心,以R为半径的圆,该窗口为预设目标窗口,假设:待处理孔洞1对应的预设目标窗口1中有像素点1,像素点2、像素点3、像素点4、像素点5、像素点6,像素点7、像素点8、像素点9,其中,像素点2、像素点3、像素点4、像素点5、像素点6、像素点7、像素点8、像素点9都为非孔洞点对应的像素点,即:第一非目标像素点。

第二步:计算预设目标窗口中深度值不为255的像素点与中心点的色差,即非孔洞点与孔洞点的色差C

第三步:获取第二预设阈值,将所述色差小于第二预设阈值的第一非目标像素点,确定为第二非目标像素点,假设:色差C

最后一步,获取所述第二非目标像素点的第一数量;若所述第一数量大于第一预设阈值,则获取第一目标深度值;根据所述第一目标深度值,确定所述待处理孔洞的目标深度信息。

以上述内容为例,第二非目标像素点的第一数量为第二非目标像素点的个数,即:预设目标窗口1中第一数量为6,假设第一预设阈值为5,因为第一数量大于第一预设阈值,则获取第一目标深度值,再根据所述第一目标深度值,确定所述待处理孔洞的目标深度信息。

接下来就需要获取第一目标深度值。

在本申请中,所述第一目标深度值为所述待处理深度图中深度值为零的像素点(待处理孔洞)经处理过最终的深度值。

在本申请中,所述第一目标深度值还可以为所述目标深度图中深度值为零的像素点(待处理孔洞)经处理过最终的深度值。

以下为对步骤203内容中的子步骤:获取第一目标深度值进行说明进行详细说明,

首先获取第一权重值,计算预设目标窗口内所有第一非目标像素点与待处理孔洞的距离,假设,像素点1的坐标为D(x1,y1),第一非目标像素点2的坐标为D(x2,y2)、第一非目标像素点3的坐标为D(x3,y3)、第一非目标像素点4的坐标为D(x4,y4)、第一非目标像素点5的坐标为D(x5,y5)、第一非目标像素点6的坐标为D(x6,y6),第一非目标像素点7的坐标为D(x7,y7)、第一非目标像素点8的坐标为D(x8,y9)、第一非目标像素点9的坐标为D(x9,y9)。第一权重值等于w=Gauss(d),d=dx*dx+dy*dy,其中,dx、dy为第一非目标像素点与中心点x、y坐标差,Gauss(d)为由高斯权重计算公式得到的值。

例如:第一非目标像素点2的第一权重值w(12)=Gauss(d12),d12=(x1-x2)

在一种实施例中,所述获取所述第一非目标像素的第一权重值的步骤,包括:获取所述预设目标窗口中的所述待处理孔洞的目标位置信息和所述第一非目标像素的第一非目标位置信息;根据所述目标位置信息和所述第一非目标位置信息,得到所述第一非目标像素与所述待处理孔洞在第一方向上的第一距离和第二方向上的第二距离;根据所述第一距离与所述第二距离,得到所述第一非目标像素的第一权重值。下一步,获取第二权重值,先获取预设目标窗口内所有像素点的子像素对应的亮度信息,例如:像素点1的红色子像素的亮度值为L11,像素点1的绿色子像素的亮度值为L12,像素点1的蓝色子像素的亮度值为L13,第一非目标像素点2的红色子像素的亮度值为L21,绿色子像素的亮度值为L22,蓝色子像素的亮度值为L23;第一非目标像素点3的红色子像素的亮度值为L31,绿色子像素的亮度值为L32,蓝色子像素的亮度值为L33,以此类推,第一非目标像素点9的红色子像素的亮度值为L91,绿色子像素的亮度值为L92,蓝色子像素的亮度值为L93,第二权重值等于k=Gauss(c),c=|dr|+|dg|+|db|,dr、dg、db分别为第一非目标像素点与中心点在R、G、B三通道上亮度的差值。

例如:第一非目标像素点2的第二权重值k(12)=Gauss(c12),c12=|L11-L21|+|L12-L22|+|L13-L23|;第一非目标像素点3的第二权重值k(13)=Gauss(c13),c13=|L11-L31|+|L12-L32|+|L13-L33|;第一非目标像素点4的第二权重值k(14)=Gauss(c14),c14=|L11-L41|+|L12-L42|+|L13-L43|;以此类堆,第一非目标像素点90的第二权重值k(19)=Gauss(c19),c19=|L11-L91|+|L12-L92|+|L13-L93|。

在一种实施例中,所述获取所述第一非目标像素的第二权重值的步骤,包括:获取所述待处理孔洞的子像素的子目标亮度信息以及所述第一非目标像素的子像素的第一子非目标亮度信息;根据所述子目标亮度信息和所述第一子非目标亮度信息,得到所述待处理孔洞的子像素与所述第一非目标像素对应的子像素的亮度差的绝对值;根据所述亮度差的绝对值,得到所述第一非目标像素的第二权重值。再根据第一权重值和第二权重值得出综合权重值,各像素的对应的权重值Q=w*k,例如:第一非目标像素点2的综合权重值Q2=w(12)*k(12);第一非目标像素点3的综合权重值Q3=w(13)*k(13);第一非目标像素点4的综合权重值Q4=w(14)*k(14);第一非目标像素点5的综合权重值Q5=w(15)*k(15);第一非目标像素点6的综合权重值Q6=w(16)*k(16);第一非目标像素点7的综合权重值Q7=w(17)*k(17);第一非目标像素点8的综合权重值Q8=w(18)*k(18);第一非目标像素点9的综合权重值Q9=w(19)*k(19)。

在一种实施例中,所述获取所述预设目标窗口中的所述第一非目标像素点对应的综合权重值的步骤,包括:获取所述第一非目标像素的第一权重值;获取所述第一非目标像素的第二权重值;根据所述第一权重值和所述第二权重值,得到所述第一非目标像素点对应的综合权重值。

最后一步,根据像素点的综合权重值和深度值,得到第一目标深度值。第一目标深度值的计算方法参考

在一种实施例中,所述获取第一目标深度值的步骤,包括:获取所述预设目标窗口中的所述第一非目标像素点对应的综合权重值;获取所述第一非目标像素点的深度值;根据所述综合权重值和所述深度值,得到第一目标深度值。步骤204:根据待处理孔洞的目标深度信息对待处理深度图进行处理,得到处理后的深度图。

由步骤203中可以得到待处理空洞的目标深度信息,因此,将上述步骤中得到的第一目标深度值赋给对应的待处理孔洞,即完成了对相应孔洞的填充。

本申请实施例提供了一种图像处理方法及装置,该方法首先获取待处理图像以及待处理图像对应的待处理深度图;再对待处理深度图进行孔洞识别,得到待处理孔洞;再根据待处理孔洞在待处理图像中的空间信息、以及待处理图像中像素点的颜色信息,确定待处理孔洞的目标深度信息;最后,根据目标深度信息对待处理深度图进行处理,得到处理后的深度图。本申请根据待处理孔洞在待处理图像中的空间信息,以及待处理图像中像素点的颜色信息对待处理孔洞进行填充,能有效减弱因孔洞填充引起的深度扩散问题,提高了深度图像的清晰度。

如图4所示,为本申请实施例提供的图像处理方法的另一种流程图,在步骤206之后,还包括以下步骤:

步骤401:获取处理后的深度图中的待处理孔洞以及待处理孔洞的空间信息;

上述内容中对待处理孔洞进行了填充,但是可能存在不满足填充条件的孔洞没有进行填充,例如上述内容中第一数量小于或等于第一预设阈值时对应的孔洞就没有进行填充,因此,需要将步骤206之后未填充的孔洞再进行填充。

步骤402:根据待处理孔洞的空间信息,确定待处理图像中多个第三非目标像素点;

在一种实施例中,所述根据所述待处理孔洞的空间信息,确定所述待处理图像中多个第三非目标像素点的步骤,包括:在所述待处理图像中分别获取与所述待处理孔洞在第一预设方向、第二预设方向、第三预设方向、第四预设方向上距离最近的非孔洞点;将所述非孔洞点作为第三非目标像素点。

如图5所示,图5是本申请实施例提供的第二非目标子像素确定方法示意图,其中,像素点1位待处理孔洞,像素点2、像素点3、像素点4、像素点5、像素点6、像素点7、像素点8、像素点9都为非孔洞点,以像素点1为坐标原点,沿第一方向(待处理图像的水平方向)的水平方向且过圆心做一条直线为x轴,沿第二方向(待处理图像的垂直方向)的水平方向且过圆心做一条直线为y轴,在x轴、y轴上找离圆心最近的四个非孔洞点,如图5所示,离圆心最近的4个点为像素点2、像素点6、像素点9、像素点4,即:像素点2、像素点6、像素点9、像素点4为第三非目标像素点。

步骤403:获取待处理孔洞分别与多个第三非目标像素点的位置关系;

先获取第三非目标像素点的坐标,像素点2的坐标为(x2,y2)、像素点6(x6,y6)、像素点9(x9,y9)、像素点4点(x4,y4),再计算水平上两个第三非目标像素点的距离、垂直方向两个第三非目标像素点间距离,即水平方向上两个第三非目标像素点的距离为像素点6与像素点2的距离

步骤404:若位置关系满足预设距离阈值,则获取多个第三非目标像素点深度的最小值;

在一种实施例中,所述若所述位置关系满足预设距离阈值时,则获取所述多个第三非目标像素点深度的最小值的步骤,包括:根据所述待处理孔洞与所述多个第三非目标像素点的位置关系,计算得到所述待处理孔洞到所述多个第三非目标像素点的第一横向距离、第一纵向距离;若所述各个第一横向距离小于横向距离预设阈值,或者所述各个第一纵向距离小于纵向距离预设阈值,则获取所述多个第三非目标像素点深度的最小值。

获取水平预设距离阈值D

步骤405:根据深度最小值对待处理孔洞进行修复处理,得到处理后的第二深度图。

将像素点2的深度值赋予对应的待处理孔洞,即完成了对孔洞的填充。

本申请实施例提供了一种图像处理方法及装置,在根据待处理孔洞的深度信息对待处理深度图进行填充处理,得到处理后的深度图的步骤之后,获取处理后的深度图中的待处理孔洞以及待处理孔洞的空间信息;根据待处理孔洞的空间信息,确定待处理图像中多个第三非目标像素点;获取待处理孔洞与多个第三非目标像素点的位置关系;若位置关系满足预设距离阈值,则获取多个第三非目标像素点深度的最小值;根据深度最小值对待处理孔洞进行,得到处理后的第二深度图。本申请在根据待处理孔洞的深度信息对待处理深度图进行填充处理,得到处理后的深度图之后,再根据待处理孔洞在待处理图像中的空间信息,以及非待处理孔洞的深度信息对在之前步骤中不满足填充条件而未填充的孔洞进行填充,避免了孔洞填充不完全的问题,提高了深度图像的清晰度。

如图6所示,为本申请实施例提供的图像处理方法的另一种流程图,在本实施例中,步骤405之后,还包括以下步骤:

步骤601:获取第二深度图中的待处理孔洞以及待处理孔洞的空间信息;

上述内容中对待处理孔洞进行了填充,但是可能存在不满足填充条件的孔洞没有进行填充,例如上述内容中第一横向距离大于横向距离预设阈值且第一纵向距离大于纵向距离预设阈值时对应的孔洞就没有进行填充,因此,需要将步骤405之后未填充的孔洞再进行填充。

步骤602:根据待处理孔洞的空间信息,确定待处理图像中多个第四非目标像素点;

参考步骤402中确定第三非目标像素点的方法来确定第四非目标像素点,还是以如图5所示为例进行说明,其中,像素点1位待处理孔洞,像素点2、像素点3、像素点4、像素点5、像素点6、像素点7、像素点8、像素点9都为非孔洞点,以像素点1为坐标原点,沿第一方向(待处理图像的水平方向)的水平方向且过圆心做一条直线为x轴,沿第二方向(待处理图像的垂直方向)的水平方向且过圆心做一条直线为y轴,在x轴、y轴上找离圆心最近的四个非孔洞点,如图5所示,离圆心最近的4个点为像素点2、像素点6、像素点9、像素点4,即:像素点2、像素点6、像素点9、像素点4为第四非目标像素点。

步骤603:获取多个第四非目标像素点的深度值;

分别获取像素点2、像素点6、像素点9、像素点4的深度值。

步骤604:根据多个第四非目标像素点的深度值,得到多个第四非目标像素点对应的深度均值;

根据像素点2、像素点6、像素点9、像素点4的深度值,得出像素点2、像素点6、像素点9、像素点4的深度均值。

步骤605:根据深度均值对待处理孔洞进行修复处理,得到处理后的第三深度图。

最后,将上述步骤得到的深度均值赋予对应的待处理孔洞,即完成了对孔洞的填充,如图9b所示为本申请实施例提供的处理后得到的第三深度图,由图9a与图9b对比可知,本申请的图像处理方法能有效减弱因孔洞填充引起的深度扩散问题,提高了深度图像的清晰度。本申请实施例提供了一种图像处理方法及装置,在得到处理后的第二深度图的步骤之后,获取第二深度图中的待处理孔洞以及待处理孔洞的空间信息;根据待处理孔洞的空间信息,确定待处理图像中多个第四非目标像素点;获取多个第四非目标像素点的深度值;根据多个第四非目标像素点的深度值,得到多个第四非目标像素点对应的深度均值;根据深度均值对待处理孔洞进行处理,得到处理后的第三深度图。本申请在得到填充后的第二深度图的步骤之后,再根据待处理孔洞在待处理图像中的空间信息,以及非待处理孔洞的深度信息对在之前步骤中不满足填充条件而未填充的孔洞进行填充,避免了孔洞填充不完全的问题,提高了深度图像的清晰度。

在上述实施例所述方法的基础上,本实施例将从图像处理装置的角度进一步进行描述,请参阅图7a,7a具体描述了本申请实施例提供的一种图像处理装置,其可以包括:

第一获取模块701,用于获取待处理图像以及所述待处理图像对应的待处理深度图;

在一种实施例中,第一获取模块701,包括:

物体图像获取子模块,用于通过多摄系统获取目标物在同一时间的多张物体图像;

深度估计子模块,用于对所述多张物体图像进行深度估计处理,得到所述多张物体图像对应的待处理深度图;

图像获取子模块,用于根据所述多张物体图像,得到所述待处理深度图对应的待处理图像。

孔洞识别模块702,用于对所述待处理深度图进行孔洞识别,得到待处理孔洞;

在一种实施例中,孔洞识别模块702,包括:

第一获取子模块,用于获取待处理深度图;

第二获取子模块,用于获取第一深度异常阈值和第二深度异常阈值;

第一剔除子模块,用于根据所述第一深度异常阈值和第二深度异常阈值,确定所述待处理深度图中的异常像素点,并对所述异常像素点的深度值进行调整,得到目标深度图;

第一识别子模块,用于对所述目标深度图进行孔洞识别,得到待处理孔洞。

第一确定模块703,用于根据所述待处理孔洞在所述待处理图像中的空间信息、以及所述待处理图像中像素点的颜色信息,确定所述待处理孔洞的目标深度信息;

第一确定模块703,包括:

第一确定子模块,用于以所述待处理孔洞在所述待处理图像中对应的位置为中心,在所述待处理图像中确定预设目标窗口;

第三获取子模块,用于获取所述预设目标窗口内的第一非目标像素点;

第二确定子模块,用于根据所述第一非目标像素点与所述待处理孔洞的颜色关系,确定所述第一非目标像素点中第二非目标像素点;

第四获取子模块,用于获取所述第二非目标像素点的第一数量;

第五获取子模块,用于若所述第一数量大于第一预设阈值,则获取第一目标深度值;

第三确定子模块,用于根据所述第一目标深度值,确定所述待处理孔洞的目标深度信息。

第一处理模块704,用于根据所述待处理孔洞的目标深度信息对所述待处理深度图进行处理,得到处理后的深度图。

如图7b所示是本申请实施例提供的图像处理装置的另一种结构示意图,本申请提供一种图像处理装置,还包括:

第二获取模块705,用于获取所处理后的深度图中的待处理孔洞以及所述待处理孔洞的空间信息;

第二确定模块706,用于根据所述待处理孔洞的空间信息,确定所述待处理图像中多个第三非目标像素点;

在一种实施例中,第二确定模块706,包括:

第四确定子模块,用于在所述待处理图像中分别获取与所述待处理孔洞在第一预设方向、第二预设方向、第三预设方向、第四预设方向上距离最近的非孔洞点;

第五确定子模块,用于将所述非孔洞点作为第三非目标像素点。

第三获取模块707,用于获取所述待处理孔洞与所述多个第三非目标像素点的位置关系;

第四获取模块708,用于若所述位置关系满足预设距离阈值,则获取所述多个第三非目标像素点深度的最小值;

在一种实施例中,第四获取模块708,包括:

第一计算子模块,用于根据所述待处理孔洞与所述多个第三非目标像素点的位置关系,计算得到所述待处理孔洞到所述多个第三非目标像素点的第一横向距离、第一纵向距离;

第六获取子模块,用于获取横向距离预设阈值和纵向距离预设阈值;

第七获取子模块,用于若所述第一横向距离小于所述横向距离预设阈值,或者所述第一纵向距离小于所述纵向距离预设阈值,则获取所述多个第三非目标像素点深度的最小值。

第二处理模块709,用于根据所述深度最小值对所述待处理孔洞进行填充,得到处理后的第二深度图。

如图7c所示是本申请实施例提供的图像处理装置的另一种结构示意图,本申请提供一种图像处理装置,还包括:

第五获取模块710,用获取所述第二深度图中的待处理孔洞以及所述待处理孔洞的空间信息;

第三确定模块711,用于根据所述待处理孔洞的空间信息,确定所述待处理图像中多个第四非目标像素点;

第六获取模块712,用于获取所述多个第四非目标像素点的深度值;

第四确定模块713,用于根据所述多个第四非目标像素点的深度值,得到所述多个第四非目标像素点对应的深度均值;

第三处理模块714,用于根据所述深度均值对所述待处理孔洞进行处理,得到处理后的第三深度图。

另一方面,本申请提供一种图像处理装置,还包括:

调用模快,用于调用导向滤波模型;

滤波模块,用于基于所述导向滤波模型对所述处理后的深度图进行保边平滑滤波,得到第四深度图。

本申请实施例还提供一种服务器,如图8所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:

该服务器可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图8中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器801是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。

存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。

服务器还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入单元804,该输入单元804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:

获取待处理图像以及所述待处理图像对应的待处理深度图;

对所述待处理深度图进行孔洞识别,得到待处理孔洞;

根据所述待处理孔洞在所述待处理图像中的空间信息、以及所述待处理图像中像素点的颜色信息,确定所述待处理孔洞的目标深度信息;

根据所述待处理孔洞的目标深度信息对所述待处理深度图进行处理,得到处理后的深度图。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图像处理方法的详细描述,此处不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种方法中的步骤。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种图像处理方法、装置、电子设备及可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种图像处理方法、图像处理装置及终端设备
  • 一种图像处理方法、图像处理装置及终端设备
  • 一种道路图像处理方法与道路图像处理装置
  • 一种图像处理方法、图像处理装置及移动终端
  • 一种图像处理方法及图像处理装置
  • 信息处理装置、信息处理方法、控制装置、控制系统、控制方法、断层合成图像捕获装置、X射线成像装置、图像处理装置、图像处理系统、图像处理方法和计算机程序
  • 图像数据处理方法、用于图像数据处理方法的程序、记录有用于图像数据处理方法的程序的记录介质和图像数据处理装置
技术分类

06120115622256