CN116993798B - 一种图像处理方法和电子设备 - Google Patents
一种图像处理方法和电子设备 Download PDFInfo
- Publication number
- CN116993798B CN116993798B CN202311273725.3A CN202311273725A CN116993798B CN 116993798 B CN116993798 B CN 116993798B CN 202311273725 A CN202311273725 A CN 202311273725A CN 116993798 B CN116993798 B CN 116993798B
- Authority
- CN
- China
- Prior art keywords
- pixel
- depth
- image
- sub
- label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 239000002243 precursor Substances 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 69
- 238000012937 correction Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 6
- 238000000926 separation method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 41
- 238000004891 communication Methods 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Abstract
本申请公开一种图像处理方法和电子设备,涉及图像处理技术领域,包括:电子设备获取待处理图像以及待处理图像的图像信息。图像信息包括待处理图像的图像尺寸和待处理图像中像素的深度值信息。根据预设的划分规则和待处理图像的图像尺寸,将待处理图像划分为多个子图像。根据各子图像中像素的深度值信息,并行获取各子图像中像素的深度标签,将深度标签相同的像素确定为处于同一图像区域的像素,得到待处理图像的连通区域划分结果。电子设备并行获取各个子图像中各个像素的深度标签,大大减少了计算各个像素的深度标签的时间,有效地提高了获取待处理图像的连通区域的效率,可满足实时图像处理场景对于图像处理时效的要求。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种图像处理方法和电子设备。
背景技术
实时图像处理场景对图像处理的耗时有着严格要求,特别是基于深度图的图像处理场景。比如,基于飞行时间法(time of flight,TOF)的图像计算,如,门禁系统、终端设备的人脸识别场景,车牌识别场景等图像处理场景,通常需要根据每个像素的深度信息从原始图像中分离背景信息,从而提取目标图像。
现有技术中通过对原始图像划分连通区域来分离背景信息。其中,划分连通区域的过程需要遍历各个像素周围的所有像素的深度值,基于各个像素周围的所有像素的深度值来计算区域轮廓,计算量比较大,计算时间比较长,导致无法满足一些实时图像处理场景的时效性要求。
发明内容
本申请实施例提供一种图像处理方法和电子设备,电子设备将待处理图像划分为多个子图像,从而可以并行计算各个子图像中各个像素的深度标签,大大减少了计算各个像素的深度标签的时间,有效地提高了获取待处理图像的连通区域的效率,可满足实时图像处理场景对于图像处理时效的要求。
为达到上述目的,本申请的实施例采用如下技术方案。
第一方面,提供了一种图像处理方法,该方法包括:
电子设备获取待处理图像以及待处理图像的图像信息。其中,待处理图像表征需要进行背景分离的图像,比如,待处理图像可以为人脸图像等。图像信息包括待处理图像的图像尺寸、待处理图像中像素的深度值信息。
电子设备根据预设的划分规则待处理图像的图像尺寸,将待处理图像划分为多个子图像。根据各子图像的各像素的深度值信息,并行获取各子图像的各像素的深度标签。其中,深度标签用于指示各像素所处的图像区域。
电子设备将深度标签相同的像素确定为处于同一图像区域的像素,得到待处理图像的连通区域划分结果。
其中,预设的划分规则包括按照像素所在行进行划分或者按照像素所在列进行划分。电子设备可通过调用与子图像数量相同的线程,多线程并行计算各子图像中像素的深度标签。
示例性地,若电子设备将待处理图像划分为k个子图像,那么电子设备可以调用相应的k个线程处理子图像的像素的深度标签的计算。或者,若电子设备确定调用t个线程处理子图像的像素的深度标签的计算,那么电子设备可以将待处理图像适应性地划分为t个子图像。无论是先确定线程的数量,还是先确定子图像的数量,子图像的数量与线程数量始终对应。一个线程处理一个子图像中像素的深度标签的计算,从而达到多线程并行处理的效果,提高待处理图像的像素的深度标签的计算效率。
本申请中,电子设备获取待处理图像,按照预设划分规则,将待处理图像划分为多个子图像。电子设备获取各个子图像中每一个像素的深度值信息,按照预设的遍历规则,并行计算每一个子图像中各个像素的深度标签,相同的深度标签形成连通区域,从而得到待处理图像的连通区域划分结果。电子设备并行计算各个子图像中各个像素的深度标签,大大减少了计算各个子图像中所有像素的深度标签的时间,从而有效地提高了获取待处理图像的连通区域的划分结果的效率,可满足实时图像处理场景对于图像处理时效的要求。
在第一方面的一种可能的实现方式中,根据各子图像中像素的深度值信息,并行获取各子图像的各像素的深度标签,包括:
按照预设的遍历规则,获取子图像的当前像素的第一前序像素和/或第二前序像素;当前像素包括子图像的遍历次序中非第一个像素;
基于第一前序像素的深度值信息和/或第二前序像素的深度值信息,获取当前像素的深度标签;
其中,预设的遍历规则包括按像素所在行遍历或按像素所在列遍历;在预设的遍历规则为按像素所在行遍历时,第一前序像素为遍历次序中当前像素所在行的前一个像素,第二前序像素为遍历次序中当前像素的前一行的同一列的像素。
预设的遍历规则为按像素所在列遍历时,第一前序像素为遍历次序中当前像素所在列的前一个像素,第二前序像素为遍历次序中当前像素的前一列的同一行的像素。
本申请中,电子设备只基于当前像素的第一前序像素和/或第二前序像素进行当前像素的深度标签的计算,并不是基于当前像素的周围(上、下、左、右)像素的深度值信息计算当前像素的深度标签,大大减少了计算当前像素的深度标签的数据量,同时,缩短了计算当前像素的深度标签的时间,有效地提高了获取当前像素的深度标签的效率。
在第一方面的另一种可能的实现方式中,若当前像素不存在第一前序像素,或者,当前像素的第一前序像素不存在深度标签。
基于第一前序像素的深度值信息和/或第二前序像素的深度值信息,获取当前像素的深度标签,包括:
基于第二前序像素的深度值信息,获取当前像素的深度标签。
本申请中,在当前像素不存在第一前序像素,或者,第一前序像素不存在深度标签时,可直接根据第二前序像素的深度值信息确定当前像素的深度标签,大大减少了计算当前像素的深度标签的数据量,提高了获取当前像素的深度标签的效率。
在第一方面的另一种可能的实现方式中,基于第二前序像素的深度值信息,获取当前像素的深度标签,包括:
若当前像素的深度值信息与第二前序像素的深度值信息匹配,将第二前序像素的深度标签确定为当前像素的深度标签;
若当前像素的深度值信息与第二前序像素的深度值信息不匹配,基于子图像中像素已有的深度标签的最大值,确定当前像素的深度标签。
本申请中,根据第二前序像素的深度值信息确定当前像素的深度标签,大大减少了计算当前像素的深度标签的数据量,提高了获取当前像素的深度标签的效率。
在第一方面的另一种可能的实现方式中,若当前像素不存在第二前序像素,或者,当前像素的第二前序像素不存在深度标签。
基于第一前序像素的深度值信息和/或第二前序像素的深度值信息,获取当前像素的深度标签,包括:
基于第一前序像素的深度值信息,获取当前像素的深度标签。
本申请中,在当前像素不存在第二前序像素,或者,第二前序像素不存在深度标签时,可直接根据第一前序像素的深度值信息确定当前像素的深度标签,大大减少了计算当前像素的深度标签的数据量,提高了获取当前像素的深度标签的效率。
在第一方面的另一种可能的实现方式中,基于第一前序像素的深度值信息,获取当前像素的深度标签,包括:
若当前像素的深度值信息与第一前序像素的深度值信息匹配,将第一前序像素的深度标签确定为当前像素的深度标签;
若当前像素的深度值信息与第一前序像素的深度值信息不匹配,基于子图像中像素已有的深度标签的最大值,确定当前像素的深度标签。
本申请中,根据第一前序像素的深度值信息确定当前像素的深度标签,大大减少了计算当前像素的深度标签的数据量,提高了获取当前像素的深度标签的效率。
在第一方面的另一种可能的实现方式中,若当前像素存在第一前序像素和第二前序像素,且,第一前序像素和第二前序像素均存在深度标签。
基于第一前序像素的深度值信息和/或第二前序像素的深度值信息,获取当前像素的深度标签,包括:
基于第一前序像素的深度值信息和第二前序像素的深度值信息,获取当前像素的深度标签。
本申请中,在当前像素存在第一前序像素和第二前序像素,且,第一前序像素和第二前序像素均存在深度标签时,可根据第一前序像素的深度值信息和第二前序像素的深度值信息,确定当前像素的深度标签,提高了当前像素的深度标签的计算准确性。
在第一方面的另一种可能的实现方式中,基于第一前序像素的深度值信息和第二前序像素的深度值信息,获取当前像素的深度标签,包括:
若当前像素的深度值信息与第一前序像素的深度值信息、第二前序像素的深度值信息均不匹配,根据子图像中像素已有的深度标签的最大值,确定当前像素的深度标签;
若当前像素的深度值信息与第一前序像素的深度值信息、第二前序像素的深度值信息中任意一个匹配,将匹配的深度标签作为当前像素的深度标签;
若当前像素的深度值信息与第一前序像素的深度值信息、第二前序像素的深度值信息均匹配,且,第一前序像素的深度标签与第二前序像素的深度标签不一致,确定值较小的深度标签作为当前像素的深度标签。
本申请中,在当前像素存在第一前序像素和第二前序像素,且,第一前序像素和第二前序像素均存在深度标签时,可根据第一前序像素的深度值信息和第二前序像素的深度值信息,确定当前像素的深度标签,提高了当前像素的深度标签的计算准确性。
在第一方面的另一种可能的实现方式中,若当前像素的深度值信息与第一前序像素的深度值信息、第二前序像素的深度值信息均匹配,且,第一前序像素的深度标签与第二前序像素的深度标签不一致,该方法还包括:
基于第一前序像素的深度标签与第二前序像素的深度标签,将第一前序像素与第二前序像素中,值较大的深度标签校正为值较小的深度标签。
本申请中,当前像素的深度值信息与第一前序像素的深度值信息、第二前序像素的深度值信息均匹配,且,第一前序像素的深度标签与第二前序像素的深度标签不一致时,将第一前序像素的深度标签与第二前序像素的深度标签中,值较大的深度标签校正为值较小的深度标签,提高深度标签的准确性,减少深度值匹配但深度标签不一致的错误判断。
在第一方面的另一种可能的实现方式中,当前像素为子图像的遍历次序中第一个像素时,并行获取各子图像的各像素的深度标签,包括:
将各子图像的遍历次序中第一个像素的深度标签置为预设值;预设值基于子图像的数量以及待处理图像的尺寸确定。
本申请中,设定不同的子图像的第一行第一列的像素的深度标签为预设值,可有效避免并行计算过程中导致的深度标签值冲突矛盾的问题,提高并行计算的有效性与各个子图像中像素的深度标签的准确性。
在第一方面的另一种可能的实现方式中,在并行获取各子图像的各像素的深度标签之后,该方法还包括:
根据各子图像的边缘像素的深度值信息和深度标签,对边缘像素的深度标签进行校正,得到校正后的各子图像的各像素的深度标签,其中,边缘像素包括子图像的边缘行或边缘列所包括的像素。
那么,将深度标签相同的像素确定为处于同一图像区域的像素,得到待处理图像的连通区域划分结果,包括:
根据校正后的各子图像的各像素的深度标签,将深度标签相同的像素确定为处于同一图像区域的像素,得到待处理图像的连通区域划分结果。
本申请中,电子设备将待处理图像划分为多个子图像,对多个子图像中相邻边缘行中各边缘像素的深度标签进行校正,使得所有子图像的深度标签处于同一标准之内,提高了待处理图像中所有像素的深度标签的数据有效性,也提高了所有像素的深度标签的准确性。
在第一方面的另一种可能的实现方式中,若预设的划分规则为按照像素所在行划分,边缘像素包括子图像的边缘行所包括的像素。
在这种情况下,根据各子图像的边缘像素的深度值信息和深度标签,对边缘像素的深度标签进行校正,得到校正后的各子图像的各像素的深度标签,包括:
根据各子图像的两两相邻边缘行中各像素的深度值信息和深度标签,对相邻边缘行中各像素的深度标签进行校正,获取校正后的相邻边缘行中各像素的深度标签。
基于校正后的相邻边缘行中各像素的深度标签,更新各子图像中各像素的深度标签,获取校正后的各子图像的各像素的深度标签。
本申请中,电子设备将待处理图像划分为多个子图像,对多个子图像中相邻边缘行中各边缘像素的深度标签进行校正,使得所有子图像的深度标签处于同一标准之内,提高了待处理图像中所有像素的深度标签的数据有效性,也提高了所有像素的深度标签的准确性。
在第一方面的另一种可能的实现方式中,多个子图像包括第一子图像和第二子图像,第二子图像中的像素的深度标签的最小值大于第一子图像的像素的深度标签的最大值。
根据各子图像的两两相邻边缘行中各像素的深度值信息和深度标签,对相邻边缘行中各像素的深度标签进行校正,获取校正后的相邻边缘行中各像素的深度标签,包括:
获取第一子图像中与第二子图像相邻的第一边缘行,第二子图像中与第一子图像相邻的第二边缘行。其中,第一边缘行中各像素对应第一深度值信息,第二边缘行中各像素对应第二深度值。
遍历匹配第二边缘行中各像素的第二深度值信息与第一边缘行中处于相同列的像素的第一深度值信息;
若第二深度值信息与第一深度值信息匹配,第二边缘行的像素的第二深度标签与第一边缘行的像素的第一深度标签不一致,将第二深度标签与第一深度标签中,值较大的深度标签校正为值较小的深度标签;
若第二深度值信息与第一深度值信息不匹配,获取待处理图像中已校正的深度标签的最大值,基于已校正的深度标签的最大值,确定第二子图像中深度值信息不匹配的像素的深度标签。
本申请中,电子设备将待处理图像划分为多个子图像,对多个子图像中相邻边缘行中各边缘像素的深度标签进行校正,使得所有子图像的深度标签处于同一标准之内,提高了待处理图像中所有像素的深度标签的数据有效性,也提高了所有像素的深度标签的准确性。
在第一方面的另一种可能的实现方式中,若预设的划分规则为按照像素所在列划分,边缘像素包括子图像的边缘列所包括的像素。
根据各子图像的边缘像素的深度值信息和深度标签,对边缘像素的深度标签进行校正,得到校正后的各子图像的各像素的深度标签,包括:
根据各子图像的两两相邻边缘列中各边缘像素的深度值信息和深度标签,对相邻边缘列中各像素的深度标签进行校正,获取校正后的相邻边缘列中各像素的深度标签;
基于校正后的相邻边缘列中各像素的深度标签,更新各子图像中各像素的深度标签,获取校正后的各子图像的各像素的深度标签。
本申请中,电子设备将待处理图像划分为多个子图像,对多个子图像中相邻边缘行中各边缘像素的深度标签进行校正,使得所有子图像的深度标签处于同一标准之内,提高了待处理图像中所有像素的深度标签的数据有效性,也提高了所有像素的深度标签的准确性。
在第一方面的另一种可能的实现方式中,多个子图像包括第三子图像和第四子图像,第四子图像中的像素的深度标签的最小值大于第三子图像的像素的深度标签的最大值。
根据各子图像的两两相邻边缘列中各边缘像素的深度值信息和深度标签,对相邻边缘列中各像素的深度标签进行校正,获取校正后的相邻边缘列中各像素的深度标签,包括:
获取第三子图像中与第四子图像相邻的第三边缘列,第四子图像中与第三子图像相邻的第四边缘列,其中,第三边缘列中各像素对应第三深度值信息,第四边缘列中各像素对应第四深度值。
遍历匹配第四边缘列中各像素的第四深度值信息与第三边缘列中处于相同行的像素的第三深度值信息;
若第四深度值信息与第三深度值信息匹配,第四边缘列的像素的第四深度标签与第三边缘列的像素的第三深度标签不一致,将第四深度标签与第三深度标签中,值较大的深度标签校正为值较小的深度标签;
若第四深度值信息与第三深度值信息不匹配,获取待处理图像中已校正的深度标签的最大值,基于已校正的深度标签的最大值,确定第四子图像中深度值信息不匹配的像素的深度标签。
本申请中,电子设备将待处理图像划分为多个子图像,对多个子图像中相邻边缘行中各边缘像素的深度标签进行校正,使得所有子图像的深度标签处于同一标准之内,提高了待处理图像中所有像素的深度标签的数据有效性,也提高了所有像素的深度标签的准确性。
在第一方面的另一种可能的实现方式中,并行获取各子图像的各像素的深度标签,包括:
每获取到子图像中一个像素的深度标签时,将一个像素的深度标签更新至深度标签图中一个像素对应的位置,其中,深度标签图的图像尺寸与各子图像的图像尺寸相同。
本申请中,通过创建与待处理图像中各个子图像的图像尺寸对应的深度标签图,可为遍历子图像中各个像素的深度值信息,计算各个像素的深度标签提供有效、直观的数据存储空间。
在第一方面的另一种可能的实现方式中,该方法还包括:
将校正后的各子图像的各像素的深度标签存储至预设的哈希表中,其中,预设的哈希表的长度与待处理图像的图像尺寸有关。
本申请中,通过创建与待处理图像的图像尺寸对应长度的哈希表,通过哈希映射,可将像素的位置与深度标签映射起来,在后续的图像处理操作中,可通过哈希表直接获取待处理图像的连通区域的划分结果,为后续的图像处理操作提供有效的数据支撑。
第二方面,提供了一种电子设备,该电子设备包括存储器和一个或多个处理器;所述存储器与所述处理器耦合;所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如上述第一方面中任一项所述的方法。
第三方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在电子设备上运行时,使得电子设备可以执行上述第一方面中任一项所述的方法。
第四方面,提供了一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备可以执行上述第一方面中任一项所述的方法。
第五方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面的方法。
可以理解地,上述提供的第二方面所述的电子设备,第三方面所述的计算机可读存储介质,第四方面所述的计算机程序产品,第五方面所述的芯片所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的结构框图;
图2为本申请实施例提供的一种图像处理方法的流程示意图;
图3为本申请实施例提供的一种待处理图像的深度图的示意图;
图4为本申请实施例提供的一种按照像素所在行将待处理图像划分为4个子图像的示意图;
图5为本申请实施例提供的一种按照像素所在列将待处理图像划分为2个子图像的示意图;
图6为本申请实施例提供的一种深度标签图的示意图;
图7为本申请实施例提供的一种按照像素所在行将待处理图像的深度图划分为4个子图像的示意图;
图8为本申请实施例提供的一种待处理图像的第1个子图像中所有像素的深度值更新示意图;
图9为本申请实施例提供的另一种待处理图像的第1个子图像中所有像素的深度值更新示意图;
图10为本申请实施例提供的另一种待处理图像的第1个子图像中所有像素的深度值更新示意图;
图11为本申请实施例提供的另一种待处理图像的第1个子图像中所有像素的深度值更新示意图;
图12为本申请实施例提供的另一种待处理图像的第1个子图像中所有像素的深度值更新示意图;
图13为本申请实施例提供的一种待处理图像的深度标签图;
图14为本申请实施例提供的一种按照像素所在列将待处理图像的深度图划分为2个子图像的示意图;
图15为本申请实施例提供的另一种待处理图像的第1个子图像中所有像素的深度值值更新示意图;
图16为本申请实施例提供的另一种待处理图像的第1个子图像中所有像素的深度值值更新示意图;
图17为本申请实施例提供的另一种待处理图像的第1个子图像中所有像素的深度值值更新示意图;
图18为本申请实施例提供的另一种待处理图像的深度标签图;
图19为本申请实施例提供的一种按照像素所在行划分的多个子图像进行像素的深度标签校正的示意图;
图20为本申请实施例提供的一种按照像素所在列划分的多个子图像进行像素的深度标签校正的示意图;
图21为本申请实施例提供的一种按照像素所在行划分的待处理图像的图像处理过程示意图;
图22为本申请实施例提供的一种按照像素所在列划分的待处理图像的图像处理过程示意图;
图23为本申请实施例提供的一种电子设备的结构示意图;
图24为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
实时图像处理场景对图像处理耗时有着较高需求,特别是基于深度图的图像处理场景。比如,基于飞行时间法(time of flight,TOF)的图像计算,如,人脸识别场景、车牌识别场景等。这些场景的图像处理过程中,通常需要根据图像中的每一个像素的深度信息进行背景信息的分离,从而提取图像中的目标图像(人脸图像、车牌图像)。
现有技术通过对图像进行连通区域划分进行背景信息的分离。其中,连通区域的划分过程需要遍历图像中每一个像素周围(比如,上、下、左、右)的像素的深度信息,基于每一个像素周围的像素的深度信息确定图像中的深度连通区域,实现图像连通区域的划分。
然而,现有技术中基于每一个像素周围的像素的深度信息进行连通区域划分的方法,涉及到的每一个像素周围的像素的深度信息,导致计算量比较大、计算时间比较长,难以满足实时图像处理场景下的图像处理耗时的要求。
本申请实施例提供一种图像处理方法,电子设备获取待处理图像,按照预设划分规则,将待处理图像划分为多个子图像。电子设备获取各个子图像中每一个像素的深度值信息,按照预设的遍历规则,并行计算每一个子图像中各个像素的深度标签,相同的深度标签形成连通区域,从而得到待处理图像的连通区域划分结果。在本方案中,电子设备将待处理图像划分为多个子图像,从而可以并行计算各个子图像中各个像素的深度标签,大大减少了计算各个像素的深度标签的时间,有效地提高了获取待处理图像的连通区域的效率,可满足实时图像处理场景对于图像处理时效的要求。
本申请实施例所提供的图像处理方法可应用于计算机设备,或者称为电子设备中。示例性地,电子设备可以为独立服务器、服务器集群等,电子设备也可以为笔记本电脑、个人计算机(personal computer,PC)等等,以下实施例对该电子设备的具体形式不做特殊限制。
示例性的,请参考图1,其示出本申请实施例提供一种电子设备(如电子设备100)的结构框图。图1所示的电子设备可以包括:处理器101、存储器102、通信模块103以及总线104。处理器101、存储器102以及通信模块103之间可以通过总线104连接。
处理器101是该电子设备的控制中心,可以是一个通用中央处理单元(centralprocessing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为示例,处理器101可以包括一个或多个CPU,例如图1中所示的CPU 0和CPU 1。
存储器102可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
在一种可能的实现方式中,存储器102可以独立于处理器101存在。存储器102可以通过总线104与处理器101相连接,用于存储数据、指令或者程序代码。处理器101调用并执行存储器102中存储的指令或程序代码时,能够实现本申请实施例提供的图像处理方法。
在另一种可能的实现方式中,存储器102也可以和处理器101集成在一起。
通信模块103,用于该电子设备与其他设备通过通信网络连接,该通信网络可以是以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信模块103可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
在本实施例中,电子设备100的通信模块103可通过通信网络与其他设备通信。若其他设备存在分离图像背景信息、提取图像目标图像的需求时,其他设备可向电子设备100发送携带图像处理请求。电子设备100的通信模块103可通过通信网络接收其他设备发送的图像处理请求。之后,通信模块103可将图像处理请求转发至处理器101。处理器101通过解析图像处理请求,根据处理请求携带的图像的深度值信息,进行图像连通区域的划分,得到图像的连通区域划分结果。处理器101可将图像的连通区域的划分结果传输至通信模块103,以便通信模块103向其他设备发送携带图像的连通区域的划分结果的请求响应。图像的连通区域的划分结果可为分离图像背景信息、提取图像目标图像提供数据支撑。
示例性地,其他设备可以为终端,比如,手机、平板电脑、可穿戴电子设别、增强现实(augment reality,AR)/虚拟现实(virtual reality,VR)设备等。
总线104,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图1中示出的结构并不构成对该电子设备100的限定,除图1所示部件之外,该电子设备100还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
结合具体图例,以电子设备为执行主体,介绍本申请实施例提供的图像处理方法,参考图2所示,包括:
S201、电子设备获取待处理图像以及待处理图像的图像信息。
其中,待处理图像可以为电子设备从其他设备获取到的图像,也可以为电子设备从本地存储空间获取到的图像。待处理图像可以为任意类型的图像,比如,人脸图像、风景图像、医学图像等等,待处理图像为需要进行背景信息分离与目标图像提取的图像。
图像信息包括待处理图像的图像尺寸、待处理图像中各个像素的深度值信息。其中,像素的深度值信息指的是待处理图像中像素的深度值,在本实施例中,像素的深度值为通过现有技术获取到的已知数据。
本实施例中,电子设备可以获取并存储待处理图像中每一个像素的深度值信息。可选地,电子设备可以将待处理图像中每一个像素的深度值以矩阵形式进行存储。或者,电子设备可以将待处理图像中像素的深度值以深度图的形式进行存储。示例性地,图3给出了一种深度图的示例。图3所示的深度图为尺寸为4(row)*8(column)的待处理图像对应的深度图,该深度图中每一个位置的数值为该待处理图像中相应位置对应的像素的深度值。
S202、电子设备按照预设的划分规则对待处理图像进行划分,得到多个子图像。
预设的划分规则包括按照待处理图像的像素所在行划分;或者,按照待处理图像的像素所在列划分。
在本实施例中,电子设备可以根据待处理图像的尺寸,将待处理图像划分为多个子图像。其中,子图像的数量可以为k个,k为大于1的自然数。
在一些实施例中,电子设备可以按照待处理图像的像素所在行进行划分,得到多个子图像。示例性地,图4给出了一种按照像素所在行将待处理图像划分为4个子图像的示意图。
在本实施例中,待处理图像的尺寸为M*N,M为待处理图像的行数(row)、N为待处理图像的列数(column);M、N为大于0的自然数,且,M*N大于1。将待处理图像按照像素所在行划分为k个子图像,每一个子图像的尺寸为(k/M)*N。
在一些实施例中,电子设备可以按照待处理图像的像素所在列进行划分,得到多个子图像。示例性地,图5给出了一种按照像素所在列将待处理图像划分为2个子图像的示意图。
在本实施例中,待处理图像的尺寸为M*N,将待处理图像按照像素所在列划分为k个子图像,每一个子图像的尺寸为M*(k/N)。
可选地,在得到多个子图像之后,电子设备可以创建或初始化各个子图像的相关信息。
示例性地,包括:
S203、电子设备根据待处理图像的尺寸,构建相应的哈希表。
其中,哈希表用于存储每一个像素对应的深度标签。若待处理图像的尺寸为M*N,那么相应地,存储待处理图像中所有像素的深度标签的哈希表的尺寸为1*MN。也即,电子设备构建长度为M*N的空哈希表,用于存储尺寸为M*N的待处理图像中每一个像素对应的深度标签。
可选地,电子设备也可以根据待处理图像的尺寸,创建用于存储待处理图像中所有像素的深度标签的M*N的哈希矩阵。或者,电子设备也可以根据待处理图像的尺寸,创建用于存储待处理图像中所有像素的深度标签的M*N的哈希图。本实施例对于存储深度标签的“哈希表”的具体形式不做限定。
S204、电子设备根据待处理图像的尺寸,初始化待处理图像对应的深度标签信息。
电子设备可以将待处理图像中每一个像素的深度标签信息以矩阵形式进行存储。或者,电子设备可以将待处理图像中像素的深度标签信息以深度标签图的形式进行存储。
示例性地,若以深度标签图的形式进行存储待处理图像中像素的深度标签信息,电子设备可以根据待处理图像的尺寸M*N,初始化一个M*N的深度标签图。比如,图6给出了一种深度标签图的示例。基于图3给出了尺寸为4*8的待处理图像对应的深度图,初始化待处理图像对应的深度标签图,得到图4给出的4*8的深度标签图。其中,该深度标签图中每一个位置的数值为该位置对应像素的深度标签。
S205、电子设备并行计算多个子图像中每一个像素的深度标签。
在本实施例中,电子设备将待处理图像划分为多个子图像,可以并行地、独立地对每一个子图像中的所有像素进行深度标签的计算。示例性地,电子设备可调用多个线程,并行处理每一个子图像的像素的深度标签的计算。
若电子设备将待处理图像划分为k个子图像,那么电子设备可以调用相应的k个线程处理子图像的像素的深度标签的计算。或者,若电子设备确定调用t个线程处理子图像的像素的深度标签的计算,那么电子设备可以将待处理图像适应性地划分为t个子图像。无论是先确定线程的数量,还是先确定子图像的数量,子图像的数量与线程数量始终对应。一个线程处理一个子图像中像素的深度标签的计算,从而达到多线程并行处理的效果,提高待处理图像的像素的深度标签的计算效率。
可选地,在一些实施例中,为了避免不同的子图像中深度标签的数值冲突,可分别将子图像的第一个像素的深度标签设定为1,1/k(M*N)+1,2/k(M*N)+1,...,(k-1)/k(M*N)+1等。其中,待处理图像的尺寸为M*N,k为子图像的数量。
在一些实施例中,具体地,比如,待处理图像包括k个子图像,调用k个线程并行计算对应的子图像中每一个像素的深度标签。其中,第i个线程并行计算第i个子图像中每一个像素的深度标签,包括:
S2051、第i个线程按照预设的遍历规则,遍历获取第i个子图像中第j个像素的第一前序像素的深度值信息以及第j个像素对应的第二前序像素的深度值信息。
其中,i为大于0且小于k的自然数;j为大于0的自然数。j小于或等于子图像中像素的总数量。
S2052、根据第一前序像素的深度值信息和/或第二前序像素的深度值信息,确定第j个像素的深度标签。
预设的遍历规则可以包括按像素所在行,基于各个像素的位置从左向右遍历;或者,按照像素所在列,基于各个像素的位置从下向上遍历。可选地,若预设的划分规则是按照待处理图像中像素所在行进行划分,参考图4,那么相应的预设的遍历规则可以为按像素所在行,基于待处理图像中各个像素的位置从左向右遍历。若预设的划分规则是按照待处理图像中像素所在列进行划分,参考图5,那么相应的预设的遍历规则可以为按照像素所在列,基于待处理图像中各个像素的位置从下向上遍历。
需要说明的是,预设的划分规则与预设的遍历规则不存在严格的对应关系。比如,预设的划分规则是按照待处理图像中像素所在行进行划分,预设的遍历规则也可以为按照像素所在列,基于待处理图像中各个像素的位置从下向上遍历;预设的划分规则是按照待处理图像中像素所在列进行划分,预设的遍历规则也可以为按像素所在行,基于待处理图像中各个像素的位置从左向右遍历。
第一前序像素为遍历顺序中第j个像素的之前的一个像素。基于不同的预设的的遍历规则,第一前序像素指代的像素不同。比如,预设的遍历规则为按像素所在行,基于各个像素的位置从左向右遍历,那么,第一前序像素为与第j个像素处于同一行的前一个像素。预设的遍历规则为按照像素所在列,基于各个像素的位置从下向上遍历,那么,第一前序像素为与第j个像素处于同一列的前一个像素。
基于不同的预设的的遍历规则,预设的遍历规则为按像素所在行,基于各个像素的位置从左向右遍历,那么,第二前序像素为第j个像素所在行的前一行中,与第j个像素处于同一列的像素。预设的遍历规则为按照像素所在列,基于各个像素的位置从下向上遍历,那么第二前序像素为第j个像素所在列的前一列中,与第j个像素处于同一行的像素。
在一些实施例中,基于任意一种预设的遍历规则,对子图像中各个像素的深度值信息进行遍历过程中,可能存在以下几种情况:
第一种情况为:第j个像素不存在第一前序像素以及第二前序像素。也即第j个像素为子图像中遍历次序为1的像素。
在这种情况下,第1个子图像的第j个像素的深度标签为1。第i个子图像的第j个像素的深度标签为(i-1)/k(M*N)+1,(i-2)/k(M*N)+1,...,(k-1)/k(M*N)+1。示例性地,尺寸为16*8的待处理图像,按照像素所在行划分为4个子图像,那么第1个子图像的第j个像素的深度标签为1,第2个子图像的第j个像素的深度标签为33,第3个子图像的第j个像素的深度标签为65,第2个子图像的第j个像素的深度标签为97。
第二种情况为:第j个像素存在第一前序像素,但是不存在第二前序像素。也即,第j个像素为子图像中的首行(或首列)中遍历次序为大于1的像素。
预设的遍历规则为按像素所在行,基于各个像素的位置从左向右遍历,那么,第j个像素为子图像中的首行的非首个像素。预设的遍历规则为按照像素所在列,基于各个像素的位置从下向上遍历,第j个像素为子图像中的首列的非首个像素。
在上述第j个像素存在第一前序像素,但是不存在第二前序像素的情况下,若第j个像素的深度值与第一前序像素的深度值匹配,确定第j个像素的深度标签为第一前序像素的深度标签。
其中,深度值匹配可以包括第j个像素的深度值与第一前序像素的深度值之间的差值小于预设深度值阈值;或者,j个像素的深度值与第一前序像素的深度值属于同一个深度值范围内等等。其中,预设深度值阈值为大于0自然数,比如,深度值阈值可以为30、40、50等。
第三种情况为:第j个像素不存在第一前序像素,但存在第二前序像素。也即,第j个像素为子图像中的非首行(或非首列)中遍历次序为1像素。
预设的遍历规则为按像素所在行,基于各个像素的位置从左向右遍历,那么,第j个像素为子图像中的非首行的第1个像素。比如,第j个像素为第二行、第三行、第四行中遍历次序为1的像素。
预设的遍历规则为按照像素所在列,基于各个像素的位置从下向上遍历,第j个像素为子图像中的非首列的第1个像素。比如,第j个像素为第二列、第三列、第四列中遍历次序为1的像素。
在上述第j个像素不存在第一前序像素,但存在第二前序像素的情况下,若第j个像素的深度值与第二前序像素的深度值匹配,确定第j个像素的深度标签为第二前序像素的深度标签。
其中,深度值匹配可以包括第j个像素的深度值与第二前序像素的深度值之间的差值小于预设深度值阈值;或者,j个像素的深度值与第二前序像素的深度值属于同一个深度值范围内等等。其中,预设深度值阈值为大于0自然数,比如,深度值阈值可以为30、40、50等。
第四种情况为:第j个像素存在第一前序像素以及第二前序像素。也即,第j个像素为子图像中的非首行(或非首列)中遍历次序为大于1的像素。
预设的遍历规则为按像素所在行,基于各个像素的位置从左向右遍历,那么,第j个像素为子图像中的非首行的非首个像素。比如,第j个像素为第二行、第三行、第四行中非首个像素。
预设的遍历规则为按照像素所在列,基于各个像素的位置从下向上遍历,第j个像素为子图像中的非首列的非首个像素。比如,第j个像素为第二列、第三列、第四列中非首个像素。
在上述第j个像素存在第一前序像素与第二前序像素的情况下:
若第j个像素的深度值与第一前序像素的深度值、第二前序像素的深度值均不匹配,则根据已有的深度标签的值,为第j个像素创建新的深度标签。比如,已有的像素的深度标签的最大值为2,那么第j个像素的深度标签的值为3。
若第j个像素的深度值与第一前序像素的深度值、第二前序像素的深度值中任意一个匹配,那么,将匹配的深度标签作为第j个像素的深度标签。
若第j个像素的深度值与第一前序像素的深度值、第二前序像素的深度值均匹配,也存在两种情况。
其中一种情况为,第一前序像素的深度标签与第二前序像素的深度标签一致。
这种情况下,第j个像素的深度标签为第一前序像素的深度标签(第二前序像素的深度标签)。比如,第j个像素的深度值与第一前序像素的深度值匹配,第j个像素的深度值与第二前序像素的深度值也匹配,其中,第一前序像素的深度标签为1,第二前序像素的深度标签也为1,那么,第j个像素的深度标签为1。
另外一种情况为,第一前序像素的深度标签与第二前序像素的深度标签不一致。
这种情况下,确定第j个像素的深度标签为第一前序像素的深度标签与第二前序像素的深度标签中,深度标签值更小的深度标签。
比如,第j个像素的深度值与第一前序像素的深度值匹配,第j个像素的深度值与第二前序像素的深度值也匹配,其中,第一前序像素的深度标签为1,第二前序像素的深度标签也为2,那么,第j个像素的深度标签为值更小的深度标签1。
同时,在第一前序像素的深度值、第二前序像素的深度值均与第j个像素的深度值匹配,说明,实际上第一前序像素、第二前序像素与第j个像素可能为同一连通区域的像素。但是第一前序像素的深度标签与第二前序像素的深度标签又不一致,针对这种情况下,第i个线程还可以将第一前序像素与第二前序像素中,值较大深度标签校正为值较小深度标签。比如,将第二前序像素的深度标签的值由2校正为1,校正后的各个像素的深度标签更准确。
通过两个具体实施例对以上S2051与S2052步骤中涉及到的多种情况进行进一步的说明。
在其中一个实施例中,待处理图像的尺寸为16*8,将待处理图像按照像素所在行划分为4个子图像。每一个子图像的尺寸为4*8,参考图7。线程数量为4。通过深度标签图表示深度标签信息,初始化的深度标签图的尺寸为4*8;待处理图像对应的哈希表的长度为16*8。预设的遍历规则为按像素所在行,基于待处理图像中各个像素的位置从左向右遍历。
在一些实施例中,以划分的第1个子图像为例来说明:
参考图8,图8的(a)为第1个子图像(简称子图像)中所有像素的深度值图。图8的(b)至图8的(c)为更新第1个子图像的第一行像素的深度标签图的过程示意图。
将子图像中第一行的第一个元素的深度标签置为1,参考图8的(b)。
线程按照预按像素所在行,基于待处理图像中各个像素的位置从左向右遍历的规则,遍历子图像的第一行中非首个像素。
第一行中非首个像素存在第一前序像素(同一行前序一个元素,也即左边的元素),不存在第二前序像素(前序一行同列的元素,也即上边的元素)。也即,第一行中非首个像素只参考其左边的像素的深度值。若当前像素与其左边的像素的深度值匹配,则确定当前像素的深度标签为其左边的像素的深度标签。若当前像素与其左边的像素的深度值不匹配,则新建一个深度标签给当前像素。
参考图8,以第一行的第二个像素(像素2)来说明。像素2的第一前序像素为第一行的首个像素(像素1)。像素1的深度值为30,像素2的深度值为90。预设深度值阈值为40。像素1的深度值与像素2的深度值的差值大于预设深度阈值,像素1的深度值与像素2的深度值不匹配,像素1的深度标签为1,为像素2创建新的深度标签。示例性地,可以在已有的深度标签的值上增加1,那么像素2的深度标签为2,参考图8的(c)。
第一行的第三个像素、第四个像素...等与计算像素2的深度标签的方法类似,从而得到第一行中所有像素的深度标签。
在一些实施例中,参考图9,计算子图像中第二行的第一个像素的深度标签。图9的(a)仍然为第1个子图像(简称子图像)中所有像素的深度值图。图9的(b)至图9的(c)为更新第1个子图像的第二行首个像素的深度标签图的过程示意图。
第二行中首个像素不存在第一前序像素,存在第二前序像素。也即,第二行中首个像素只参考其上边的像素(前序行中同一列的像素)的深度值。若当前像素与其上边的像素的深度值匹配,则确定当前像素的深度标签为其上边的像素的深度标签。若当前像素与其上边的像素的深度值不匹配,则新建一个深度标签给当前像素。
参考图9,以第二行的第一个像素(像素3)来说明。像素3的第二前序像素为像素1。像素1的深度值为30,像素3的深度值为33。预设深度值阈值为40。像素3的深度值与像素1的深度值的差值小于预设深度值阈值,像素3的深度值与像素1的深度值匹配,像素1的深度标签为1,那么,像素3的深度标签也为1,参考图9的(c)。
在一些实施例中,参考图10,计算子图像中第二行的非首个像素的深度标签。图10的(a)仍然为第1个子图像(简称子图像)中所有像素的深度值图。图10的(b)至图10的(c)为更新第1个子图像的第二行非首个像素的深度标签图的过程示意图。
第二行中非首个像素存在第一前序像素和第二前序像素。也即,第二行中非首个像素需要参考其左边和上边的像素的深度值。若当前像素与其上边的像素、其左边的像素的深度值均不匹配,则新建一个深度标签给当前像素。若当前像素与其上边的像素或其左边的像素中任意一个的深度值匹配,则确定匹配的深度标签为当前像素的深度标签。若当前像素与其上边的像素或其左边的像素的深度值均匹配,其上边的像素或其左边的像素的深度标签一致时,确定匹配的深度标签为当前像素的深度标签。其上边的像素或其左边的像素的深度标签不一致时,取值较小的深度标签的作为当前像素的深度标签。并且,将上边的像素或其左边的像素中,值较大的深度标签校正为值较小的深度标签。
图10给出了一种当前像素与其上边的像素或其左边的像素中任意一个的深度值匹配,确定匹配的深度标签为当前像素的深度标签的示例。图10的(a)仍然为第1个子图像(简称子图像)中所有像素的深度值图。图10的(b)至图10的(c)为更新第1个子图像的第二行非首个像素的深度标签图的过程示意图。
参考图10,以第二行的非首个像素(像素4)来说明。像素4的第一前序像素为像素2,第二前序像素为像素3。像素2的深度值为90,像素3的深度值为33,像素4的深度值为87。预设深度值阈值为40。像素4的深度值与像素2的深度值的差值小于40,像素4的深度值与像素2的深度值匹配;像素4的深度值与像素3的深度值的差值到大于40,像素4的深度值与像素2的深度值不匹配。像素2的深度标签为2,那么,像素4的深度标签也为2,参考图10的(c)。
在一些实施例中,参考图11,图11给出一种第三行的第一个像素(像素5)的深度值与其第二前序像素的深度值不匹配的实例。图11的(a)仍然为第1个子图像(简称子图像)中所有像素的深度值图。图11的(b)至图11的(c)为更新第1个子图像的第三行首个像素的深度标签图的过程示意图。
参考图11,像素5不存在第一前序像素,其第二前序像素为像素3。像素3的深度值为33,像素5的深度值为86。预设深度值阈值为40。像素5的深度值与像素3的深度值的差值大于40,像素5的深度值与像素3的深度值不匹配。像素3的深度标签为1,为像素5创建新的深度标签。示例性地,可以在已有的深度标签的值上增加1,已有的深度标签的最大值为3,那么像素5的深度标签为4,参考图11的(c)。
在一些实施例中,图12给出了当前像素存在第一前序像素与第二前序像素,但是第一前序像素与第二前序像素的深度标签不一致的示例。图12的(a)仍然为第1个子图像(简称子图像)中所有像素的深度值图。图12的(b)至图12的(c)为更新第1个子图像的第三行非首个像素的深度标签图的过程示意图。
参考图12,以第三行第二个像素(像素6)为例说明。像素6的第一前序像素(左边的像素)为像素5,第二前序像素(上面的像素)为像素4。像素4的深度值为87,像素5的深度值为86,像素6的深度值为88。
像素6的深度值与像素5的深度值的差值小于40,像素6的深度值与像素5的深度值匹配。像素6的深度值与像素4的深度值的差值小于40,像素6的深度值与像素4的深度值匹配。但是像素5的深度标签为4,像素4的深度标签为2,二者不一致。
在这种情况下,取值较小的深度标签的作为当前像素的深度标签。也即,确定像素6的深度标签为2。同时,将上边的像素或其左边的像素中,值较大的深度标签校正为值较小的深度标签。也即,将像素5的深度标签校正为2。参考图12的(c)。
以此,可以得到图8-图12所示的第一个子图像中32个像素的深度标签。对于待处理图像的第二个子图像,第一行第一列像素的深度标签为33;对于待处理图像的第三个子图像,第一行第一列像素的深度标签为65;对于待处理图像的第四个子图像,第一行第一列像素的深度标签为97。以上述方法,并行计算处理得到待处理图像中所有子图像的像素的深度标签,参考图13。
在一些实施例中,每计算得到一个像素的深度标签,将该像素的深度标签写入哈希表中对应的位置,得到更新后的哈希表。比如,将第一个子图像中第一行第一列的像素的深度标签写入哈希表的位置1中,其中,位置1指的是哈希表中的第1个元素所在位置。将第二个子图像中第一行第一列的像素的深度标签写入哈希表的位置33中,其中,位置33指的是哈希表中第33个元素所在位置。哈希表的位置与像素的位置相对应。示例性地,参考图13给出的待处理图像的深度标签图,与其对应的,哈希表中hash[1]=1,hash[2]=2,hash[3]=2,...,hash[33]=33,hash[34]=33,...,hash[65]=65,hash[66]=65,...,hash[97]=97,hash[98]=98...等等。
在另外一个实施例中,待处理图像的尺寸为16*8,将待处理图像按照像素所在列划分为2个子图像。每一个子图像的尺寸为16*4,参考图14。线程数量为2。通过深度标签图表示深度标签信息,初始化的深度标签图的尺寸为16*4;子图像对应的哈希表的长度为64。预设的遍历规则为按像素所在列,基于待处理图像中各个像素的位置从下向上遍历。
在一些实施例中,以划分的第1个子图像为例来说明:
参考图15,图15的(a)为第1个子图像(简称子图像)中所有像素的深度值图。图15的(b)至图15的(c)为更新第1个子图像的第一列像素的深度标签图的过程示意图。
将子图像中第一列的第一个元素的深度标签置为1,参考图15的(b)。
线程按照预按像素所在列,基于待处理图像中各个像素的位置从下向上遍历的规则,遍历子图像的第一列中其他非首个像素。
第一列中其他非首个像素存在第一前序像素(同一列前序的一个元素,也即下边的元素),不存在第二前序像素(前序一列同一行的元素,也即左边的元素)。也即,第一行中非首个像素只参考其下边的像素的深度值。若当前像素与其下边的像素的深度值匹配,则确定当前像素的深度标签为其下边的像素的深度标签。若当前像素与其下边的像素的深度值不匹配,则新建一个深度标签给当前像素。
参考图15,以第一列的第二个像素(像素8)来说明。像素8的第一前序像素为第一列的首个像素(像素6)。像素7的深度值为86,像素8的深度值为86。预设深度值阈值为40。像素8的深度值与像素7的深度值的差值小于40,像素8的深度值与像素7的深度值匹配,像素7的深度标签为1,那么,像素8的深度标签也为1,参考图15的(c)。
第一列的第三个像素、第四个像素...等与计算像素8的深度标签的方法类似,从而得到第一列中所有像素的深度标签。
在一些实施例中,参考图16,计算子图像中第二列的第一个像素的深度标签。图16的(a)仍然为第1个子图像(简称子图像)中所有像素的深度值图。图16的(b)至图16的(c)为更新第1个子图像的第二列首个像素的深度标签图的过程示意图。
第二列中首个像素不存在第一前序像素,存在第二前序像素。也即,第二列中首个像素只参考其左边的像素(前序列中同一行的像素)的深度值。若当前像素与其左边的像素的深度值匹配,则确定当前像素的深度标签为其左边的像素的深度标签。若当前像素与其左边的像素的深度值不匹配,则新建一个深度标签给当前像素。
参考图16,以第二列的第一个像素(像素9)来说明。像素9的第二前序像素为像素7。像素7的深度值为86,像素9的深度值为88。预设深度值阈值为40。像素9的深度值与像素7的深度值的差值小于40,像素9的深度值与像素7的深度值匹配,像素7的深度标签为1,那么,像素9的深度标签也为1,参考图16的(c)。
在一些实施例中,参考图17,计算子图像中第二列的非首个像素的深度标签。图17的(a)仍然为第1个子图像(简称子图像)中所有像素的深度值图。图17的(b)至图17的(c)为更新第1个子图像的第二列非首个像素的深度标签图的过程示意图。
第二列中非首个像素存在第一前序像素和第二前序像素。也即,第二列中非首个像素需要参考其下边和左边的像素的深度值。若当前像素与其下边的像素、其左边的像素的深度值均不匹配,则新建一个深度标签给当前像素。若当前像素与其下边的像素或其左边的像素中任意一个的深度值匹配,则确定匹配的深度标签为当前像素的深度标签。若当前像素与其下边的像素或其左边的像素的深度值均匹配,其下边的像素或其左边的像素的深度标签一致时,确定匹配的深度标签为当前像素的深度标签。其下边的像素或其左边的像素的深度标签不一致时,取值较小的深度标签的作为当前像素的深度标签。并且,将下边的像素或其左边的像素中,值较大的深度标签校正为值较小的深度标签。
本实施例中计算各个像素的深度标签的方式可参考上述按行遍历计算各个像素的深度标签的方式,本实施例不做赘述。
以此,可以得到图15-图17所示的第一个子图像中64个像素的深度标签。对于待处理图像的第二个子图像,第一列第一个像素的深度标签为65。以上述方法,并行计算处理得到待处理图像中所有子图像的像素的深度标签,参考图18。
在一些实施例中,每计算得到一个像素的深度标签,将该像素的深度标签写入哈希表中对应的位置,得到更新后的哈希表。比如,将第一个子图像中第一列第一个像素的深度标签写入哈希表的位置1中,将第二个子图像中第一列第一个像素的深度标签写入哈希表的位置65中。哈希表的位置与像素的位置相对应。示例性地,参考图18给出的待处理图像的深度标签图,与其对应的,哈希表中hash[1]=1,hash[2]=1,hash[3]=2,...,hash[65]=65,hash[66]=65,...等等。
在一些实施例中,可选地,还可能存在其他情况。比如,当前像素第一前序像素与第二前序像素均没有深度标签,则根据当前子图像中深度标签的最大值,为当前像素创建一个新的深度标签。若当前像素第一前序像素或第二前序像素没有深度标签,则根据有深度标签的前序像素进行深度标签的计算。
在一些实施例中,由于对于每一个子图像的深度标签进行了不同深度标签值范围的定义,因此,需要对每一个子图像的边缘行/列的像素的深度标签进行统一化校正。
S206、电子设备基于每一个子图像的边缘行或边缘列的像素的深度标签进行子图像中各个像素的深度标签校正,得到校正后的各个像素的深度标签。
在本实施例中,电子设备需要对每个子图像的边缘行/列中的像素的深度标签进行校正,将校正后的深度标签更新在深度图或者哈希表中。
示例性地,结合图13得到的待处理图像的各个子图像的像素的深度标签图为例来说明。由于第一个子图像的第一行不存在与其相邻的行、最后一个子图像的最后一行不存在于其相邻的行,因此,不考虑第一个子图像的第一行和最后一个子图像的最后一行。
电子设备获取各个子图像的边缘行与其相邻行,其中包括,第一个子图像的第四行(待处理图像的第四行)与其相邻的第二个子图像的第一行(待处理图像的第五行);第二个子图像的第四行(待处理图像的第八行)与其相邻的第三个子图像的第一行(待处理图像的第九行);第三个子图像的第四行(待处理图像的第十二行)与其相邻的第四个子图像的第一行(待处理图像的第十三行)。参考图19中虚线标记部分。
电子设备按照子图像的划分顺序,基于第一个子图像的最后一行的像素的深度标签和第二个子图像的第一行的像素的深度标签,进行第二子图像中像素的深度标签的校正操作。
将第二个子图像的第一行的像素与其对应的第一个子图像的最后一行的像素(同列的像素)进行深度值比较,来实现第二子图像中像素的深度标签的校正操作。
比如,若第二个子图像第一行的第一个像素的深度值与其对应的第一个子图像最后一行的第一个像素的深度值匹配,将第二个子图像第一行的第一个像素的深度标签校正为第一个子图像最后一行的第一个像素的深度标签。
参考图19中,第二个子图像第一行中第一个像素的深度值为86,深度标签为2;第一个子图像最后一行中第一个像素的深度值为87,深度标签为33。二者深度值的差值小于预设深度值阈值40,二者深度值匹配。则将深度标签33校正为深度标签2。那么,第二个子图像中所有值为33的深度标签均校正为2。相应地,哈希表中所有值为33的深度标签均校正为2,hash[33]=2。
遍历至深度标签为34的像素(图19中第二个子图像中第一行的第7个像素)时,该像素的深度值为148,与其对应的第一个子图像最后一行中的像素的深度值为147,深度标签为3。二者深度值的差值小于预设深度值阈值40,二者深度值匹配。则将深度标签34校正为深度标签3。
若第二个子图像中第一行的像素遍历完成,则遍历第二个子图像中,是否存在其他未校正的深度标签,若所有深度标签校正完成,则基于第二个子图像的最后一行的像素的深度标签与第三个子图像的第一行的像素的深度标签执行校正操作。
参考图19中,第三个子图像第一行中第一个像素的深度值为87,深度标签为65;第二个子图像最后一行中第一个像素的深度值为86,深度标签已被校正为2。二者深度值的差值小于预设深度值阈值40,二者深度值匹配。则将深度标签65校正为深度标签2。那么,第二个子图像中所有值为65的深度标签均校正为2。相应地,哈希表中所有值为65的深度标签均校正为2,hash[65]=hash[33]=2。
第三个子图像中第一行的像素遍历完成,则遍历第二个子图像中,是否存在其他未校正的深度标签,若所有深度标签校正完成,基于第三个子图像的最后一行的像素的深度标签与第四个子图像的第一行的像素的深度标签执行校正操作。
参考图19中,第四个子图像第一行中第一个像素的深度值为30,深度标签为97;第二个子图像最后一行中第一个像素的深度值为91,深度标签已被校正为2。二者深度值的差值大于预设深度值阈值40,二者深度值不匹配。
在这种情况下,电子设备根据前三个子图像中深度标签的最大值,为第四个子图像第一行中第一个像素创建新的标签,在图19给出的示例中,子图像中校正后的深度标签的最大值为3,那么将第四个子图像第一行中第一个像素的深度标签置为4。也即,将第四个子图像中深度标签97校正为深度标签4。那么,第四个子图像中所有值为97的深度标签均校正为4。相应地,哈希表中所有值为97的深度标签均校正为4,hash[97]=4。
电子设备继续遍历第四个子图像的第一行中的像素,遍历至深度标签为98的像素(图19中第四个子图像中第一行的第2个像素)时,该像素的深度值为90,与其对应的第三个子图像最后一行中的像素的深度值为90,深度标签为2。二者深度值的差值小于预设深度值阈值40,二者深度值匹配。则将深度标签98校正为深度标签2。第四个子图像中所有值为98的深度标签均校正为2。相应地,哈希表中所有值为98的深度标签均校正为2,hash[98]=hash[65]=2。
电子设备继续遍历第四个子图像的第一行中的像素,遍历至深度标签为99的像素(图19中第四个子图像中第一行的第7个像素)时,该像素的深度值为150,与其对应的第三个子图像最后一行中的像素的深度值为60,深度标签为2。二者深度值的差值大于预设深度值阈值40,二者深度值不匹配。则为第四个子图像第一行的第7个像素创建新的标签,在图19给出的示例中,子图像中校正后的深度标签的最大值为4,那么将第四个子图像第一行中第7个像素的深度标签置为5。也即,将第四个子图像中深度标签99校正为深度标签5。那么,第四个子图像中所有值为99的深度标签均校正为5。相应地,哈希表中所有值为99的深度标签均校正为5,hash[99]=5。
至此,第四个子图像中不存在未校正的像素的深度标签,得到校正后的所有子图像。校正后的待处理图像的所有子图像中像素的深度标签可参考图19最右的深度标签图所示。
示例性地,结合图18得到的待处理图像的各个子图像的像素的深度标签图为例来说明。由于第一个子图像的第一列不存在与其相邻的列、最后一个子图像的最后一列不存在于其相邻的列,因此,不考虑第一个子图像的第一列和最后一个子图像的最后一列。
电子设备获取各个子图像的边缘列与其相邻列,其中包括,第一个子图像的第四列(待处理图像的第四列)与其相邻的第二个子图像的第一列(待处理图像的第五列),参考图20中虚线标记部分。
电子设备按照子图像的划分顺序,基于第一个子图像的最后一列的像素的深度标签和第二个子图像的第一列的像素的深度标签,进行第二子图像中像素的深度标签的校正操作。
将第二个子图像的第一列的像素与其对应的第一个子图像的最后一列的像素(同行的像素)进行深度值比较,来实现第二子图像中像素的深度标签的校正操作。
比如,若第二个子图像第一列的第一个像素的深度值与其对应的第一个子图像最后一列的第一个像素的深度值匹配,将第二个子图像第一列的第一个像素的深度标签校正为第一个子图像最后一列的第一个像素的深度标签。
参考图20中,第二个子图像第一列中第一个像素的深度值为97,深度标签为65;第一个子图像最后一列中第一个像素的深度值为94,深度标签为1。二者深度值的差值小于预设深度值阈值40,二者深度值匹配。则将深度标签65校正为深度标签1。那么,第二个子图像中所有值为65的深度标签均校正为1。相应地,哈希表中所有值为65的深度标签均校正为1,hash[65]=1。
遍历第二个子图像的第一列中的像素,遍历至深度标签为66的像素(图20中第二个子图像中第一列的第12个像素)时,该像素的深度值为98,与其对应的第一个子图像最后一行中的像素的深度值为95,深度标签为1。二者深度值的差值小于预设深度值阈值40,二者深度值匹配。则将深度标签66校正为深度标签1。
若第二个子图像的第一列中的像素遍历完成,但是第二个子图像中仍存在未校正的深度标签,则按照深度标签的值分别赋予新的深度标签。
比如,校正之后的深度标签的最大值为3,将第二个子图像中校正之前的深度标签67校正为4,相应地,哈希表中所有值为67的深度标签均校正为4,hash[67]=4。将第二个子图像中校正之前的深度标签68校正为5,相应地,哈希表中所有值为68的深度标签均校正为5,hash[68]=5。直到第二个子图像中所有深度标签均校正完成,得到校正后的所有子图像。校正后的待处理图像的所有子图像中像素的深度标签可参考图20最右的深度标签图所示。
S207、电子设备基于校正后的各个像素的深度标签,得到待处理图像的连通区域的划分结果。
电子设备在得到待处理图像的校正后的深度标签图后,可根据各个像素的深度标签确定相同深度标签的区域为连通区域,从而得到待处理图像的连通区域的划分结果。
在一种实施例中,图21给出了一种以人脸图像为待处理图像,划分规则为像素所在行进行划分,将待处理图像划分为4个子图像,电子设备并行计算4个子图像中所有像素的深度标签,基于4个子图像的边缘行进行深度标签校正,最终得到待处理图像的连通区域的划分结果的示意图。
在一种实施例中,图22给出了一种以人脸图像为待处理图像,划分规则为像素所在列进行划分,将待处理图像划分为2个子图像,电子设备并行计算2个子图像中所有像素的深度标签,基于2个子图像的边缘行进行深度标签校正,最终得到待处理图像的连通区域的划分结果的示意图。
图23示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。图23所示的电子设备1000包括处理器1001、存储模块1002和通信模块1003。
其中,处理器1001可以是中央处理器(central processing unit,CPU),数字信号处理器(digital signal processor,DSP),专用集成电路(application-specificintegrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器可以包括应用处理器和基带处理器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。存储模块1002可以是存储器。
例如,处理器1001可以为如图1所示的处理器101;存储模块1002可以为如图1所示的存储器102。本申请实施例所提供的电子设备可以为图1所示的电子设备100。通信模块1003可以为图1中的通信模块103。
本申请实施例还提供一种芯片系统(例如,片上系统(system on a chip,SoC)),如图24所示,该芯片系统包括至少一个处理器701和至少一个接口电路702。处理器701和接口电路702可通过线路互联。例如,接口电路702可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路702可用于向其它装置(例如处理器701或者电子设备的摄像头)发送信号。示例性的,接口电路702可读取存储器中存储的指令,并将该指令发送给处理器701。当所述指令被处理器701执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备100执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中电子设备100执行的各个功能或者步骤。例如,该计算机可以是上述电子设备100。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种图像处理方法,其特征在于,包括:
获取待处理图像以及所述待处理图像的图像信息;所述待处理图像表征需要进行背景分离的图像;所述图像信息包括所述待处理图像的图像尺寸和所述待处理图像的各像素的深度值信息;
根据预设的划分规则和所述待处理图像的图像尺寸,将所述待处理图像划分为多个子图像;
根据各所述子图像的各像素的深度值信息,并行获取各所述子图像的各所述像素的深度标签;所述深度标签用于指示各所述像素所处的图像区域;
根据各所述子图像的边缘像素的深度值信息和深度标签,对所述边缘像素的深度标签进行统一化校正,得到统一化校正后的各所述子图像的各所述像素的深度标签;所述边缘像素包括所述子图像的边缘行或边缘列所包括的像素;各所述多个子图像的深度标签的取值范围不同;所述多个子图像中的两两相邻子图像包括前序子图像和后序子图像,所述后序子图像中的像素的深度标签的最小值大于所述前序子图像的像素的深度标签的最大值;其中,若所述后序子图像中的边缘像素与对应的所述前序子图像的边缘像素的深度值信息匹配,深度标签不一致,则将值较大的深度标签校正为值较小的深度标签,若所述后序子图像中的边缘像素与对应的所述前序子图像的边缘像素的深度值信息不匹配,则基于已校正的深度标签的最大值,确定所述后序子图像的深度值信息不匹配的像素的深度标签;
根据所述统一化校正后的各所述子图像的各所述像素的深度标签,将所述深度标签相同的像素确定为处于同一图像区域的像素,得到所述待处理图像的连通区域划分结果。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述子图像的各像素的深度值信息,并行获取各所述子图像的各所述像素的深度标签,包括:
按照预设的遍历规则,获取所述子图像的当前像素的第一前序像素和/或第二前序像素;所述当前像素包括所述子图像的遍历次序中非第一个像素;
基于所述第一前序像素的深度值信息和/或所述第二前序像素的深度值信息,获取所述当前像素的深度标签;
其中,所述预设的遍历规则包括按像素所在行遍历或按像素所在列遍历;在所述预设的遍历规则为按像素所在行遍历时,所述第一前序像素为遍历次序中所述当前像素所在行的前一个像素,所述第二前序像素为遍历次序中所述当前像素的前一行的同一列的像素;在所述预设的遍历规则为按像素所在列遍历时,所述第一前序像素为遍历次序中所述当前像素所在列的前一个像素,所述第二前序像素为遍历次序中所述当前像素的前一列的同一行的像素。
3.根据权利要求2所述的方法,其特征在于,若所述当前像素不存在所述第一前序像素,或者,所述当前像素的第一前序像素不存在深度标签;
所述基于所述第一前序像素的深度值信息和/或所述第二前序像素的深度值信息,获取所述当前像素的深度标签,包括:
基于所述第二前序像素的深度值信息,获取所述当前像素的深度标签。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第二前序像素的深度值信息,获取所述当前像素的深度标签,包括:
若所述当前像素的深度值信息与所述第二前序像素的深度值信息匹配,将所述第二前序像素的深度标签确定为所述当前像素的深度标签;
若所述当前像素的深度值信息与所述第二前序像素的深度值信息不匹配,基于所述子图像中像素已有的深度标签的最大值,确定所述当前像素的深度标签。
5.根据权利要求2所述的方法,其特征在于,若所述当前像素不存在所述第二前序像素,或者,所述当前像素的第二前序像素不存在深度标签;
所述基于所述第一前序像素的深度值信息和/或所述第二前序像素的深度值信息获取所述当前像素的深度标签,包括:
基于所述第一前序像素的深度值信息,获取所述当前像素的深度标签。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一前序像素的深度值信息,获取所述当前像素的深度标签,包括:
若所述当前像素的深度值信息与所述第一前序像素的深度值信息匹配,将所述第一前序像素的深度标签确定为所述当前像素的深度标签;
若所述当前像素的深度值信息与所述第一前序像素的深度值信息不匹配,基于所述子图像中像素已有的深度标签的最大值,确定所述当前像素的深度标签。
7.根据权利要求2所述的方法,其特征在于,若所述当前像素存在所述第一前序像素和所述第二前序像素,且,所述第一前序像素和所述第二前序像素均存在深度标签;
所述基于所述第一前序像素的深度值信息和/或所述第二前序像素的深度值信息,获取所述当前像素的深度标签,包括:
基于所述第一前序像素的深度值信息和所述第二前序像素的深度值信息,获取所述当前像素的深度标签。
8.根据权利要求7所述的方法,其特征在于,所述基于所述第一前序像素的深度值信息和所述第二前序像素的深度值信息,获取所述当前像素的深度标签,包括:
若所述当前像素的深度值信息与所述第一前序像素的深度值信息、所述第二前序像素的深度值信息均不匹配,根据所述子图像中像素已有的深度标签的最大值,确定所述当前像素的深度标签;
若所述当前像素的深度值信息与所述第一前序像素的深度值信息、所述第二前序像素的深度值信息中任意一个匹配,将匹配的深度标签作为所述当前像素的深度标签;
若所述当前像素的深度值信息与所述第一前序像素的深度值信息、所述第二前序像素的深度值信息均匹配,且,所述第一前序像素的深度标签与所述第二前序像素的深度标签不一致,确定值较小的深度标签作为所述当前像素的深度标签。
9.根据权利要求8所述的方法,其特征在于,若所述当前像素的深度值信息与所述第一前序像素的深度值信息、所述第二前序像素的深度值信息均匹配,且,所述第一前序像素的深度标签与所述第二前序像素的深度标签不一致,所述方法还包括:
基于所述第一前序像素的深度标签与所述第二前序像素的深度标签,将所述第一前序像素与所述第二前序像素中,值较大的深度标签校正为值较小的深度标签。
10.根据权利要求2所述的方法,其特征在于,所述当前像素为所述子图像的遍历次序中第一个像素时,所述并行获取各所述子图像的各所述像素的深度标签,包括:
将各所述子图像的遍历次序中第一个像素的深度标签置为预设值;所述预设值基于所述子图像的数量以及所述待处理图像的尺寸确定。
11.根据权利要求1所述的方法,其特征在于,若所述预设的划分规则为按照像素所在行划分,所述边缘像素包括所述子图像的边缘行所包括的像素;
所述根据各所述子图像的边缘像素的深度值信息和深度标签,对所述边缘像素的深度标签进行统一化校正,得到统一化校正后的各所述子图像的各所述像素的深度标签,包括:
根据各所述子图像的两两相邻边缘行中各所述像素的深度值信息和深度标签,对所述相邻边缘行中各所述像素的深度标签进行统一化校正,获取统一化校正后的相邻边缘行中各所述像素的深度标签;
基于所述统一化校正后的相邻边缘行中各所述像素的深度标签,更新各所述子图像中各所述像素的深度标签,获取校正后的各所述子图像的各所述像素的深度标签。
12.根据权利要求11所述的方法,其特征在于,所述多个子图像包括第一子图像和第二子图像,所述第一子图像与所述第二子图像为相邻的子图像,所述第一子图像为前序子图像,所述第二子图像为后序子图像,所述第二子图像中的像素的深度标签的最小值大于所述第一子图像的像素的深度标签的最大值;
所述根据各所述子图像的两两相邻边缘行中各所述像素的深度值信息和深度标签,对所述相邻边缘行中各所述像素的深度标签进行统一化校正,获取统一化校正后的相邻边缘行中各所述像素的深度标签,包括:
获取所述第一子图像中与所述第二子图像相邻的第一边缘行,所述第二子图像中与所述第一子图像相邻的第二边缘行;所述第一边缘行中各像素对应第一深度值信息,所述第二边缘行中各像素对应第二深度值信息;
遍历匹配所述第二边缘行中各像素的第二深度值信息与所述第一边缘行中处于相同列的像素的第一深度值信息;
若所述第二深度值信息与所述第一深度值信息匹配,所述第二边缘行的像素的第二深度标签与所述第一边缘行的像素的第一深度标签不一致,将所述第二深度标签与所述第一深度标签中,值较大的深度标签校正为值较小的深度标签;
若所述第二深度值信息与所述第一深度值信息不匹配,获取所述待处理图像中已校正的深度标签的最大值,基于所述已校正的深度标签的最大值,确定所述第二子图像中深度值信息不匹配的像素的深度标签。
13.根据权利要求1所述的方法,其特征在于,若所述预设的划分规则为按照像素所在列划分,所述边缘像素包括所述子图像的边缘列所包括的像素;
所述根据各所述子图像的边缘像素的深度值信息和深度标签,对所述边缘像素的深度标签进行统一化校正,得到统一化校正后的各所述子图像的各所述像素的深度标签,包括:
根据各所述子图像的两两相邻边缘列中各所述边缘像素的深度值信息和深度标签,对所述相邻边缘列中各所述像素的深度标签进行统一化校正,获取统一化校正后的相邻边缘列中各所述像素的深度标签;
基于所述统一化校正后的相邻边缘列中各所述像素的深度标签,更新各所述子图像中各所述像素的深度标签,获取校正后的各所述子图像的各所述像素的深度标签。
14.根据权利要求13所述的方法,其特征在于,所述多个子图像包括第三子图像和第四子图像,所述第三子图像与所述第四子图像为相邻的子图像,所述第三子图像为前序子图像,所述第四子图像为后序子图像,所述第四子图像中的像素的深度标签的最小值大于所述第三子图像的像素的深度标签的最大值;
所述根据各所述子图像的两两相邻边缘列中各所述边缘像素的深度值信息和深度标签,对所述相邻边缘列中各所述像素的深度标签进行统一化校正,获取统一化校正后的相邻边缘列中各所述像素的深度标签,包括:
获取所述第三子图像中与所述第四子图像相邻的第三边缘列,所述第四子图像中与所述第三子图像相邻的第四边缘列;所述第三边缘列中各像素对应第三深度值信息,所述第四边缘列中各像素对应第四深度值信息;
遍历匹配所述第四边缘列中各像素的第四深度值信息与所述第三边缘列中处于相同行的像素的第三深度值信息;
若所述第四深度值信息与所述第三深度值信息匹配,所述第四边缘列的像素的第四深度标签与所述第三边缘列的像素的第三深度标签不一致,将所述第四深度标签与所述第三深度标签中,值较大的深度标签校正为值较小的深度标签;
若所述第四深度值信息与所述第三深度值信息不匹配,获取所述待处理图像中已校正的深度标签的最大值,基于所述已校正的深度标签的最大值,确定所述第四子图像中深度值信息不匹配的像素的深度标签。
15.根据权利要求1-14中任一项所述的方法,其特征在于,所述并行获取各所述子图像的各所述像素的深度标签,包括:
每获取到所述子图像中一个像素的深度标签时,将所述一个像素的深度标签更新至所述深度标签图中所述一个像素对应的位置;所述深度标签图的图像尺寸与各所述子图像的图像尺寸相同。
16.根据权利要求1-14中任一项所述的方法,其特征在于,所述方法还包括:
将所述校正后的各所述子图像的各所述像素的深度标签存储至预设的哈希表中;所述预设的哈希表的长度与所述待处理图像的图像尺寸有关。
17.一种电子设备,其特征在于,所述电子设备包括存储器和一个或多个处理器;所述存储器与所述处理器耦合;所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-16中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311273725.3A CN116993798B (zh) | 2023-09-28 | 2023-09-28 | 一种图像处理方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311273725.3A CN116993798B (zh) | 2023-09-28 | 2023-09-28 | 一种图像处理方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116993798A CN116993798A (zh) | 2023-11-03 |
CN116993798B true CN116993798B (zh) | 2024-03-19 |
Family
ID=88530704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311273725.3A Active CN116993798B (zh) | 2023-09-28 | 2023-09-28 | 一种图像处理方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116993798B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110415285A (zh) * | 2019-08-02 | 2019-11-05 | 厦门美图之家科技有限公司 | 图像处理方法、装置及电子设备 |
CN111213178A (zh) * | 2019-03-29 | 2020-05-29 | 深圳市大疆创新科技有限公司 | 连通域处理方法、数据处理设备及计算机可读存储介质 |
CN112308805A (zh) * | 2020-11-26 | 2021-02-02 | 北京的卢深视科技有限公司 | 深度图连通域检测去噪方法、电子设备及存储介质 |
CN115705622A (zh) * | 2021-08-09 | 2023-02-17 | 武汉Tcl集团工业研究院有限公司 | 一种图像处理方法及装置 |
CN116152127A (zh) * | 2021-11-23 | 2023-05-23 | 海信集团控股股份有限公司 | 一种3d点云处理方法、装置、设备和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8594425B2 (en) * | 2010-05-31 | 2013-11-26 | Primesense Ltd. | Analysis of three-dimensional scenes |
-
2023
- 2023-09-28 CN CN202311273725.3A patent/CN116993798B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111213178A (zh) * | 2019-03-29 | 2020-05-29 | 深圳市大疆创新科技有限公司 | 连通域处理方法、数据处理设备及计算机可读存储介质 |
CN110415285A (zh) * | 2019-08-02 | 2019-11-05 | 厦门美图之家科技有限公司 | 图像处理方法、装置及电子设备 |
CN112308805A (zh) * | 2020-11-26 | 2021-02-02 | 北京的卢深视科技有限公司 | 深度图连通域检测去噪方法、电子设备及存储介质 |
CN115705622A (zh) * | 2021-08-09 | 2023-02-17 | 武汉Tcl集团工业研究院有限公司 | 一种图像处理方法及装置 |
CN116152127A (zh) * | 2021-11-23 | 2023-05-23 | 海信集团控股股份有限公司 | 一种3d点云处理方法、装置、设备和介质 |
Non-Patent Citations (2)
Title |
---|
Fast depth evaluation from pattern projection in conjunction with connected component labeling;Jong-Rul Park等;《The 18th IEEE International Symposium on Consumer Electronics (ISCE 2014)》;第1-3页 * |
基于图像处理的混凝土裂缝检测关键技术研究;刘信宏;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》(第03期);第C034-606页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116993798A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886997B (zh) | 基于目标检测的识别框确定方法、装置及终端设备 | |
CN107633526B (zh) | 一种图像跟踪点获取方法及设备、存储介质 | |
US20160358339A1 (en) | Image segmentation device, image segmentation method, and depth map generating method | |
WO2022166258A1 (zh) | 行为识别方法、装置、终端设备及计算机可读存储介质 | |
CN115329111B (zh) | 一种基于点云与影像匹配的影像特征库构建方法及系统 | |
US11615607B2 (en) | Convolution calculation method, convolution calculation apparatus, and terminal device | |
WO2021115061A1 (zh) | 图像分割方法、装置及服务器 | |
WO2023082588A1 (zh) | 一种语义标注的方法、装置、电子设备、存储介质及计算机程序产品 | |
EP4075381B1 (en) | Image processing method and system | |
CN112380978B (zh) | 基于关键点定位的多人脸检测方法、系统及存储介质 | |
CN116993798B (zh) | 一种图像处理方法和电子设备 | |
US20200327638A1 (en) | Connected component detection method, circuit, device and computer-readable storage medium | |
CN112446845A (zh) | 地图构建方法、装置、slam系统以及存储介质 | |
CN111368860B (zh) | 重定位方法及终端设备 | |
CN113228105A (zh) | 一种图像处理方法、装置和电子设备 | |
CN112669346B (zh) | 一种路面突发状况确定方法及装置 | |
CN113554037A (zh) | 一种基于模型简化的特征提取方法及装置 | |
CN112989924A (zh) | 目标检测方法、目标检测装置及终端设备 | |
CN112308787A (zh) | 畸变矫正方法及装置、电子设备 | |
CN112580638B (zh) | 文本检测方法、装置、存储介质及电子设备 | |
CN115661664B (zh) | 一种边界遮挡检测及补偿方法、电子设备和存储介质 | |
CN117710235B (zh) | 图像目标增强方法、装置、计算机设备和存储介质 | |
CN114781634B (zh) | 一种基于忆阻器的神经网络阵列的自动映射方法和装置 | |
WO2023134068A1 (zh) | 数字识别模型的训练方法、装置、设备及存储介质 | |
CN114298937B (zh) | 一种jpeg照片的修复方法、装置及相关组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |