连通域处理方法、数据处理设备及计算机可读存储介质与流程

文档序号:20921793发布日期:2020-05-29 14:14阅读:273来源:国知局
连通域处理方法、数据处理设备及计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种连通域处理方法、数据处理设备及计算机可读存储介质。



背景技术:

连通域处理是图像识别技术的重要组成部分,例如可以对图像进行连通域处理以实现车牌识别、文本识别、字幕识别、车辆跟踪、行人入侵检测等。目前业界广泛使用的连通域处理方法是基于“种子扩散”的连通域处理方式。但采用基于“种子扩散”的连通域处理方式时,一旦出现跨行处理,就需要发起片外双倍速率同步动态随机存储器(doubledatarate,ddr)的读请求。由于频繁的访问ddr会占用大量带宽资源,因此实际使用时通常只采用基于“种子扩散”的方式对尺寸较小的图像(例如640*360pixel)进行连通域处理。而对于尺寸较大的图像则需要进行降采样后才能使用基于“种子扩散”的方式进行连通域处理,例如将尺寸为1280*720pixel的图像降采样到640*360pixel后进行处理。但降采样操作会降低图像的精度,会对处理结果的准确性造成影响。可见,基于“种子扩散”的连通域处理方式需要大量的ddr读请求,应用场景十分受限。



技术实现要素:

本发明实施例公开了一种连通域处理方法、数据处理设备及计算机可读存储介质,不仅可以有效降低ddr的读请求次数,还可以实现统计数据的复用,有效节省存储空间以及计算资源,扩大连通域处理的应用场景。

本发明实施例第一方面公开了一种连通域处理方法,所述方法包括:

获取待分析图像,对所述待分析图像中当前的待分析像素点进行连通域分析,并根据分析结果在所述待分析图像的标签图中为所述待分析像素点记录目标连通域标签;

根据所述目标连通域标签更新所述待分析图像的连通域统计信息;

其中,在对所述连通域统计信息进行更新时,若所述目标连通域标签为根节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第一类统计数据,所述第一类统计数据为数目数据,所述数目数据用于指示标记为所述目标连通域标签以及标记的连通域标签指向所述目标连通域标签的像素点的个数;若所述目标连通域标签为中间节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第二类统计数据,所述第二类统计数据为指针数据,所述指针数据用于指示所述目标连通域标签所指向的根节点标签。

本发明实施例第二方面公开了一种数据处理设备,包括:存储器和处理器,所述存储器,用于存储程序指令;

所述处理器,用于执行所述存储器存储的程序指令,当所述程序指令被执行时,所述处理器用于:

获取待分析图像,对所述待分析图像中当前的待分析像素点进行连通域分析,并根据分析结果在所述待分析图像的标签图中为所述待分析像素点记录目标连通域标签;

根据所述目标连通域标签更新所述待分析图像的连通域统计信息;

其中,在对所述连通域统计信息进行更新时,若所述目标连通域标签为根节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第一类统计数据,所述第一类统计数据为数目数据,所述数目数据用于指示标记为所述目标连通域标签以及标记的连通域标签指向所述目标连通域标签的像素点的个数;若所述目标连通域标签为中间节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第二类统计数据,所述第二类统计数据为指针数据,所述指针数据用于指示所述目标连通域标签所指向的根节点标签。

本发明实施例第三方面公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述方法的步骤。

本发明实施例中,首先对待分析像素点进行连通域分析,并根据分析结果在标签图中为待分析像素点记录目标连通域标签;然后根据目标连通域标签更新连通域统计信息;其中,若目标连通域标签为根节点标签,则在连通域统计信息中记录第一类统计数据,若目标连通域标签为中间节点标签,则在连通域统计信息中记录第二类统计数据。采用上述方式,不仅可以有效降低ddr的读请求次数,还可以实现统计数据的复用,有效节省存储空间以及计算资源,扩大连通域处理的应用场景。

附图说明

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

图1是本发明第一实施例公开的一种连通域的示意图;

图2是本发明实施例公开的一种标签图的示意图;

图3是本发明实施例公开的一种多叉树的示意图;

图4是本发明第一实施例公开的一种连通域处理方法的流程示意图;

图5是本发明第一实施例公开的一种连通域统计信息的结构示意图;

图6是图1第一行像素点连通域分析完成后的结果示意图;

图7是图1第二行像素点连通域分析完成后的结果示意图;

图8是本发明第二实施例公开的一种连通域处理方法的流程示意图;

图9是本发明第二实施例公开的一种连通域的示意图;

图10是本发明实施例公开的一种行标签信息的示意图;

图11是本发明第二实施例公开的一种连通域统计信息的结构示意图;

图12是本发明第三实施例公开的一种连通域的示意图;

图13是本发明第三实施例公开的一种连通域统计信息的结构示意图;

图14是本发明第四实施例公开的一种连通域统计信息的结构示意图;

图15是本发明第五实施例公开的一种连通域统计信息的结构示意图;

图16是本发明实施例公开的一种数据处理设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例中的连通域处理方法是基于“像素标记”的连通域分析方式实现的,为更好的理解本方案,下面首先对基于“像素标记”的连通域分析方式进行说明。基于“像素标记”的连通域分析方式能够直接对原图像进行操作,主要是为了降低连通域分析过程中ddr的读请求次数,以四连通分析为例,该方式可以只判断待分析像素点是否与其所在位置的“上”方向位置和/或“左”方向位置相邻的像素点连通。连通域分析过程中所需要的数据包括:1、连通域统计数据,可以记为result,可以用于记录标记为连通域标签的像素点的数目。通常连通域标签的最大值按照经验进行取值。2、深度与连通域标签最大值一致的指针数据,可以记为pointer_list,用于将连通域组成一颗多叉树。3、待分析图像的标签图,可以记为intlabel_list,标签图的深度与待分析图像大小一致,用于存放待分析图像中每一个像素点的连通域标签。

下面对基于“像素标记”的连通域分析方式进行举例说明,具体以四连通分析为例。请一并参见图1,是本发明第一实施例提供的一种连通域的示意图。如图1所示,图1表示待分析图像,图中的每个格子表示待分析图像的一个像素点。按照格子在待分析图像中的位置,或者说按照格子所表示像素点在待分析图像中的位置,对每一个格子设置标记信息。标记信息用于指示格子或者格子所表示的像素点在待分析图像中的行列数,也即是坐标信息;标记信息中的第一位标识用于指示所在的行数,标记信息中的第二位标识用于指示所在的列数。例如标记信息22指示格子或者格子所表示的像素点所在位置为待分析图像中的第二行第二列;又例如标记信息1b指示格子或者格子所表示的像素点所在位置为待分析图像中的第一行第十一列。

图中阴影填充的格子表示待分析图像中的有效像素点,未阴影填充的格子(或者说白色格子)表示待分析图像中的无效像素点;阴影填充的多个格子组成了待分析图像的多个连通域。在基于“像素标记”的连通域分析方式对待分析图像进行分析的过程中,待分析图像中的有效像素点与无效像素点不连通,可以将待分析图像中的无效像素点的连通域标签直接确定为无效连通域标签(例如数值0);将待分析图像中的有效像素点确定为待分析像素点。然后判断待分析像素点是否与已经赋予连通域标签的像素点连通,如果待分析像素点与已经赋予连通域标签的像素点连通,则从与待分析像素点连通的像素点的连通域标签中,确定出待分析像素点的目标连通域标签;如果待分析像素点不与已经赋予连通域标签的像素点连通,则赋予待分析像素点一个新的连通域标签,并将给待分析像素点赋予的连通域标签,确定为待分析像素点的目标连通域标签。

具体地,首先将连通域统计数据result、指针数据pointer_list、标签图intlabel_list初始化为0。假设支持的最大连通域标签的取值为10,则表示可以使用的连通域标签为数值1至10。在对图1所示的待分析图像进行连通域分析的过程中,按照从左向右,从上到下的顺序。从图1可以看出,待分析图像中的第一个有效像素点是标记信息为12的阴影填充格子所指示的像素点,以下简称为像素点12,后续描述则以此类推。由于待分析图像中像素点12所在位置的“上”方向位置处不存在像素点,像素点12所在位置的“左”方向位置处的像素点11为无效像素点,与像素点12不连通;此时,需要为像素点12分配一个新的连通域标签,可以将连通域标签1确定为像素点12的目标连通域标签。然后将连通域标签1所对应的连通域统计数据result[1]置为1,将连通域标签1所对应的指针数据point_list[1]置为1,表示连通域标签1是一个根节点标签。进一步地,请一并参见图2,为本发明实施例提供的一种标签图的示意图,具体为图1所示待分析图像的标签图。如图2所示,在确定出像素点12的目标连通域标签为1之后,可以在图2所示待分析图像的标签图中为像素点12记录连通域标签1,也即是将标签图中第一行第二列位置的label_list[1][2]标记为1。

进一步地,在对像素点16和19进行连通域分析时,则以此类推,可以确定出像素点16和19的目标连通域标签分别为2和3。在对像素点1a进行连通域分析时,由于像素点1a与其所在位置的“左”方向位置相邻的像素点19连通,且像素点19的目标连通域标签为3;则将像素点1a的目标连通域标签也确定为3。并将连通域标签3所对应的连通域统计数据result[3]调整为2(也即是19、1a两个像素点)。在对像素点21进行连通域分析时,可以确定出像素点21的目标连通域标签为4。在对像素点22进行连通域分析时,由于像素点22与其所在位置的“上”方向位置相邻的像素点12连通,且与其所在位置的“左”方向位置相邻的像素点21连通;像素点12的目标连通域标签为1,像素点21的目标连通域标签为4;则表明像素点12和像素点21属于同一个连通域,相应地,连通域标签1和4也属于同一个连通域。此时将像素点22的目标连通域标签确定为标签值较小的1,同时需要合并连通域标签1和连通域标签4所对应的两个连通域。可以将连通域标签4所对应的指针数据point_list[4]调整为1,表示连通域标签4是一个中间节点标签,且指向根节点标签1;同时将连通域标签1所对应的连通域统计数据result[1]调整为3(也即是12、21、22三个像素点)。其中,可以同时将连通域标签4所对应的连通域统计数据result[4]调整为1,或者调整为result[1]中记录的数值3。需要说明的是,上述连通域分析过程中未提及的处理过程可参照对像素点12进行连通域分析过程中的相关描述,此处不再赘述。

采用上述处理方式对待分析图像连通域分析完成,可以得到图2所示的待分析图像的标签图,同时可以根据记录的指针数据point_list得到图3所示的多叉树。基于标签图可以确定待分析图像中各个像素点的连通域标签,基于多叉树可以确定出用于标记待分析像素点的各个连通域标签之间的关系。如图3所示,可见连通域标签1、6、8均为根节点标签,连通域标签2、3、4、5、7、9均指向根节点标签1,连通域标签10指向根节点标签8。另外,根据记录的连通域统计数据result或者标签图可知,标记为连通域标签1以及标记的连通域标签指向连通域标签1的像素点的个数为36,标记为连通域标签8以及标记的连通域标签指向连通域标签8的像素点的个数为5,标记为连通域标签6的像素点的个数为1。基于上述连通域处理得到的数据,可以继续对待分析图像进行处理,例如对待分析图像中相连通的像素点的数量小于预设数值的连通域中的像素点进行过滤。

需要说明的是,由于与待分析像素点在其所在位置的“上”方向位置和“左”方向位置相邻的两个像素点可以从ddr连续的已编码数据流中获获取,所以采用上述方式完成一整图像的标记仅仅需要发起一次ddr读请求。可见,基于“像素标记”的连通域分析方式,可以有效降低基于“种子扩散”的连通域处理方式ddr读请求次数过多以及大量占用ddr带宽的问题;从而基于“像素标记”的连通域分析方式也可以对尺寸较大的图像进行连通域处理。但采用基于“像素标记”的连通域分析方式时,针对对当前的待分析像素点不与已经赋予标签的像素点相连通时,就需要对当前的待分析像素点赋予一个新的标签;从而导致一张图像需要使用到的连通域标签的数量很多,也即是一张图像需要的连通域标签最大值非常大。例如,在处理尺寸大小为1280*720pixel的图像时需要用到的连通域标签数量达到了33000以上。同时,每一个连通域标签都需要分配一个指针数据或者连通域统计数据;指针数据和连通域统计数据都需要在扫描图像时不断读写,并存放在片内存储器中;故而会占用大量的存储空间,在一定程度上限制基于“像素标记”的连通域分析方式的应用场景。

为解决上述问题,本发明实施例提供了一种连通域处理方法,不仅可以有效降低ddr的读请求次数,还可以实现统计数据的复用,有效节省存储空间以及计算资源,扩大连通域处理的应用场景。以下分别进行详细说明。

请参阅图4,为本发明第一实施例提供的一种连通域处理方法的流程示意图。本发明实施例中所描述的连通域处理方法可以包括:

s401、数据处理设备获取待分析图像,对所述待分析图像中当前的待分析像素点进行连通域分析。

本发明实施例中,数据处理设备首先获取待分析图像,待分析图像中包括多个像素点,该多个像素点中包括有效像素点和无效像素点。待分析图像中的有效像素点与无效像素点不连通。在一实施例中,待分析图像可以是多目摄像机针对拍摄对象拍照一次采集到的多张深度图像中的任意一张。如果待分析图像与对比深度图像在同一位置上的像素点之间的深度信息在误差范围内,则将待分析图像中该位置上的像素点确定为有效像素点;反之则将待分析图像中该位置上的像素点确定为无效像素点;其中,该对比深度图像为该多张深度图像中除待分析图像之外的深度图像。在另一实施例中,待分析图像可以是双目摄像机针对拍摄对象拍照一次采集到的两张深度图像中的任意一张。首先将待分析图像作为基准图像、对比深度图像作为匹配图像进行深度信息匹配操作,得到第一匹配结果;第一匹配结果用于指示待分析图像与对比深度图像在相同位置上的像素点之间的第一匹配值。然后将对比深度图像作为基准图像、待分析图像作为匹配图像进行深度信息匹配操作,得到第二匹配结果;第二匹配结果用于指示待分析图像与对比深度图像在相同位置上的像素点之间的第二匹配值。如果待分析图像与对比深度图像在同一位置上的像素点之间的第一匹配值和第二匹配值相同或者在误差范围内,则将待分析图像中该位置上的像素点确定为有效像素点;反之则将待分析图像中该位置上的像素点确定为无效像素点。其中,该对比深度图像为该两张深度图像中除待分析图像之外的另一张。

在一实施例中,数据处理设备在对待分析图像进行连通域分析的过程中,可以先将待分析图像中的无效像素点的连通域标签直接确定为无效连通域标签,例如数值0;将待分析图像中的有效像素点确定为待分析像素点,后续则只对待分析图像中的待分析像素点进行连通域分析,以降低数据处理量,节省软硬件资源以及处理时间。进一步地,数据处理设备对待分析图像中当前的待分析像素点进行连通域分析,得到分析结果;该分析结果包括待分析像素点的目标连通域标签。数据处理设备首先从待分析图像中确定出与待分析像素点相邻的相邻像素点,然后根据该相邻像素点对待分析像素点进行连通域分析,确定出待分析像素点的目标连通域标签。

在一实施例中,与待分析像素点相邻的相邻像素点包括:与待分析像素点在同一列中上方向上相邻的第一像素点,和/或,与待分析像素点在同一行中左方向上相邻的第二像素点。在一实施例中,数据处理设备根据第一像素点以及第二像素点对待分析像素点进行连通域分析,判断待分析像素点是否与第一像素点以及第二像素点连通。若确定出待分析像素点与第一像素点连通,则将第一像素点的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与第二像素点连通,则将第二像素点的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与第一像素点以及第二像素点均连通,则将第一像素点的连通域标签以及第二像素点的连通域标签中标签值最小的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与第一像素点以及第二像素点均不连通,则将预设的多个连通域标签中未被使用的一个连通域标签作为待分析像素点的目标连通域标签。

其中,判断待分析像素点是否与第一像素点以及第二像素点连通的方式可以为:首先获取待分析像素点、第一像素点以及第二像素点分别对应的值,该值可以是深度值;然后将待分析像素点所对应的值与第一像素点所对应的值进行比较,得到第一比较结果;将待分析像素点所对应的值与第二像素点所对应的值进行比较,得到第二比较结果。若第一比较结果指示待分析像素点所对应的值与第一像素点所对应的值之间的差值小于或者等于预设阈值,则确定待分析像素点与第一像素点连通;反之则确定待分析像素点与第一像素点不连通。同理,若第二比较结果指示待分析像素点所对应的值与第二像素点所对应的值之间的差值小于或者等于预设阈值,则确定待分析像素点与第二像素点连通;反之则确定待分析像素点与第二像素点不连通。

在一实施例中,数据处理设备根据第一像素点对待分析像素点进行连通域分析,判断待分析像素点是否与第一像素点连通;若确定出待分析像素点与第一像素点连通,则将第一像素点的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与第一像素点不连通,则将预设的多个连通域标签中未被使用的一个连通域标签作为待分析像素点的目标连通域标签。在一实施例中,数据处理设备根据第二像素点对待分析像素点进行连通域分析,判断待分析像素点是否与第二像素点连通;若确定出待分析像素点与第二像素点连通,则将第二像素点的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与第二像素点不连通,则将预设的多个连通域标签中未被使用的一个连通域标签作为待分析像素点的目标连通域标签。

在另一实施例中,与待分析像素点相邻的相邻像素点包括:与待分析像素点在同一列中上方向上相邻的第一像素点,与待分析像素点在同一行中左方向上相邻的第二像素点,与待分析像素点在左上方向上相邻的第三像素点,与待分析像素点在右上方向上相邻的第四像素点中的一个或者多个。其中,第三像素点也即是与第一像素点在同一行中左方向上相邻的像素点,第四像素点也即是与第一像素点在同一行中右方向上相邻的像素点。在一实施例中,数据处理设备根据第一像素点、第二像素点、第三像素点以及第四像素点对待分析像素点进行连通域分析,判断待分析像素点是否与第一像素点、第二像素点、第三像素点以及第四像素点连通。若确定出待分析像素点与第一像素点、第二像素点、第三像素点以及第四像素点中的一个像素点连通,则将与待分析像素点连通的像素点的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与第一像素点、第二像素点、第三像素点以及第四像素点中的至少两个像素点连通,则将与待分析像素点连通的至少两个像素点的连通域标签中标签值最小的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与第一像素点、第二像素点、第三像素点以及第四像素点均不连通,则将预设的多个连通域标签中未被使用的一个连通域标签作为待分析像素点的目标连通域标签。

在一实施例中,本方案还对基于“像素标记”的连通域分析方式中的扫描过程进行了修改,增加了行缓冲(linebuffer)的操作,也即是记录行标签信息,行标签信息用于记录当前已分析过的像素点的连通域标签,行标签信息的深度与待分析图像一行中的像素点数目相同。其中,行标签信息记录的连通域标签包括:与待分析像素点在同一列中上方向上相邻的第一像素点的连通域标签、位于待分析像素点同一行中左方向上的像素点的连通域标签、以及位于第一像素点同一行中右方向上的像素点的连通域标签。在对待分析图像中的当前的待分析像素点进行连通域分析的过程中,如需获取与待分析像素点相邻的像素点的连通域标签,则可以直接从行标签信息中快速获取,相比查找链表的方式,可以有效加快查找速度,提高连通域分析的效率。进一步地,在待分析像素点连通域分析完成之后,根据确定出的待分析像素点的目标连通域标签对行标签信息进行更新。具体地,可以在行标签信息中将记录的第一像素点的连通域标签调整为待分析像素点的目标连通域标签。其中,行标签信息可以保存在片内寄存器中。

s402、所述数据处理设备根据分析结果在所述待分析图像的标签图中为所述待分析像素点记录目标连通域标签。

本发明实施例中,待分析图像的标签图用于记录待分析图像中每一个像素点的目标连通域标签。数据处理设备在对待分析图像中当前的待分析像素点进行连通域分析得到分析结果之后,在待分析图像的标签图中为待分析像素点记录该分析结果所指示的目标连通域标签。在一实施例中,该标签图的大小与待分析图像的大小一致,该目标连通域标签在标签图中的位置,与待分析像素点在待分析图像中的位置相同。该标签图保存在数据处理设备的ddr中。

s203、所述数据处理设备根据所述目标连通域标签更新所述待分析图像的连通域统计信息;其中,在对所述连通域统计信息进行更新时,若所述目标连通域标签为根节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第一类统计数据,所述第一类统计数据为数目数据,所述数目数据用于指示标记为所述目标连通域标签以及标记的连通域标签指向所述目标连通域标签的像素点的个数;若所述目标连通域标签为中间节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第二类统计数据,所述第二类统计数据为指针数据,所述指针数据用于指示所述目标连通域标签所指向的根节点标签。

本发明实施例中,连通域统计信息包括第一标识位和数据位,第一标识位用于表示数据位记录的统计数据的类型,数据位用于表示为目标连通域标签记录的统计数据;当第一标识位为第一标识时,数据位为目标连通域标签记录的是第一类统计数据,当第一标识位为第二标识时,数据位为目标连通域标签记录的是第二类统计数据。在一实施例中,第一标识可以是标识“0”,第二标识可以是标识“1”。第一标识位可以是连通域统计信息的最高比特位,也可以是连通域统计信息的最低比特位,本发明实施例不作限定。可以将连通域统计信息保存在片内随机存取存储器(randomaccessmemory,ram)中,也可以专门设置一个统计数据复用存储器来存储连通域统计信息。

本发明实施例中的连通域处理方法在基于“像素标记”的连通域分析方式的基础上将数目数据和指针数据进行数据复用,只需增加一个1比特的标识位来区别连通域统计信息为目标连通域标签记录的统计数据是数目数据还是指针数据。相对基于“像素标记”的连通域分析方式,采用上述方式所需的片内存储空间大大减少,大概可以降低一半的存储空间。请一并参见图5,为本发明第一实施例提供的一种连通域统计信息的结构示意图。如图5所示,图中的每1个方格表示1比特,每一行的11个方格,也即是11比特对应一个连通域标签,例如第一行的11比特数据为连通域标签1的连通域统计信息。每一行的第1个方格,或者说最高位表示连通域统计信息的第一标识,用于表示连通域统计信息的数据位记录的统计数据的类型。每一行的第2个方格至第11个方格表示连通域统计信息的数据位,用于表示为连通域标签记录的统计数据。例如第一行的第一个方格记录的是0,也即是连通域标签1的连通域统计信息的第一标识位为0,则表示第一行的第2个方格至第11个方格为连通域标签1记录的是数目数据,也即是连通域标签1的连通域统计信息的数据位为连通域标签1记录的是数目数据;从而也间接表示连通域标签1为根节点标签。数目数据为26(11010),则表示标记为连通域标签1以及标记的连通域标签指向连通域标签1的像素点的个数为26。又例如第三行的第一个方格记录的是1,也即是连通域标签3的连通域统计信息的第一标识位为1,则表示第一行的第2个方格至第11个方格为连通域标签3记录的是指针数据,也即是连通域标签3的连通域统计信息的数据位为连通域标签3记录的是指针数据;从而也表示连通域标签3为中间节点标签。指针数据为1(01),则表示连通域标签3所指向的根节点标签为连通域标签1。

在一实施例中,数据处理设备在根据第一像素点以及第二像素点对待分析像素点进行连通域分析时,若确定出待分析像素点与第一像素点以及第二像素点均不连通,则在将预设的多个连通域标签中未被使用的一个连通域标签作为待分析像素点的目标连通域标签时,将目标连通域标签作为根节点标签。若确定出待分析像素点与第一像素点以及第二像素点均连通,在将第一像素点的连通域标签以及第二像素点的连通域标签中标签值最小的连通域标签作为待分析像素点的目标连通域标签之后,将第一像素点的连通域标签以及第二像素点的连通域标签中标签值最大的连通域标签确定为指向目标连通域标签的中间节点标签。进一步地,数据处理设备对连通域统计信息中上述标签值最大的连通域标签进行更改。具体地,将连通域统计信息中上述标签值最大的连通域标签对应的第一标识位调整为第二标识,并在连通域统计信息中上述标签值最大的连通域标签对应的数据位,为上述标签值最大的连通域标签记录第二类统计数据,记录的第二类统计数据指示标签值最大的连通域标签指向上述目标连通域标签。

需要说明的是,对于步骤s401中与待分析像素点相邻的相邻像素点包括第一像素点、第二像素点、第三像素点以及第四像素点的情况,若确定出待分析像素点与第一像素点、第二像素点、第三像素点以及第四像素点中的至少两个像素点连通,在将与待分析像素点连通的至少两个像素点的连通域标签中,标签值最小的连通域标签作为待分析像素点的目标连通域标签之后,将与待分析像素点连通的至少两个像素点的连通域标签中,除标签值最小的连通域标签之外的连通域标签均确定为指向目标连通域标签的中间节点标签。进一步地,数据处理设备对连通域统计信息中为上述除标签值最小的连通域标签之外的连通域标签记录的统计数据进行更改,具体更改方式可参考前文描述,此处不再赘述。

为更好的理解本方案,下面依然以图1为例对本发明实施例中的连通域处理方法进行说明。假设支持的最大连通域标签为16,最大统计数目为1024,则本方案需要使用的数据包括:1、支持最大连通域标签的连通域统计信息,可以记为record_result_list,数据结构如图5所示;连通域统计信息可以用于为连通域标签记录统计数据,包括数目数据或者指针数据。由于支持的最大连通域标签为16,最大统计数目为1024,加上第一标识位的1bit,则连通域统计信息所需要的存储空间总计为16*11bits,可以存放在片内ram中。2、行标签信息,可以记为root_pointers;行标签信息的深度与待分析图像一行中的像素点数目相同,宽度为支持指向最大连通域标签的比特数;由于支持的最大连通域标签为16,则宽度为4bits;图1所示待分析图像一行中的像素点数目为12,则行标签信息所需要的存储空间总计为12*4bits,可以存放在片内寄存器中。3、待分析图像的标签图,可以记为label_list;用于存放待分析图像中每一个像素点的连通域标签。标签图的深度与待分析图像大小一致,宽度根据最大连通域标签进行设置;标签图所需的存储空间总计为12*8*4bits,可以存放在片外ddr中。

具体以四连通分析为例进行说明,首先将标签图label_list全部初始化为0;连通域统计信息record_result_list第一标识位初始化为0,数据位初始化为0;行标签信息root_pointers全部初始化为0。在对待分析图像进行连通域分析的过程中,按照从左向右,从上到下的顺序针对图1中的待分析像素点,也即是阴影填充格子所指示的像素点进行连通域分析。从图1可以看出,待分析图像的第一个待分析像素点(或者说有效像素点)是标记信息为12的阴影填充格子所指示的像素点,以下简称为像素点12,后续描述则以此类推。由于待分析图像中像素点12所在位置的“上”方向位置处不存在像素点,像素点12所在位置的“左”方向位置处的像素点11为无效像素点,与像素点12不连通;此时,需要为像素点12分配一个新的连通域标签,可以将连通域标签1确定为像素点12的目标连通域标签,连通域标签1为根节点标签。

请一并参见图6,图6为图1第一行像素点连通域分析完成后的结果示意图,具体包括标签图、行标签信息和连通域统计信息三个部分。如图6所示,在确定出像素点12的目标连通域标签为1之后,在待分析图像的标签图label_list中第一行第二列的位置为像素点12记录其目标连通域标签1。在行标签信息root_pointers中的第2个方格所指示位置处为像素点12记录其目标连通域标签1,以便于像素点22以及像素点13根据行标签信息快速查找到像素点12的连通域标签。在连通域统计信息record_result_list的第一个方格所指示位置处将连通域标签1对应的第一标识位调整为0,并在第一个方格所指示数据位为连通域标签1记录数目数据1,故第一个方格中的数据表示为“0/1”。需要说明的是,图6中的连通域统计信息的数据结构为相对图5所示数据结构简化后的示意图,图中连通域统计信息中的16个方格从左至又依次对应连通域标签1至连通域标签16,每一个方格中的数据表示连通域统计信息为连通域标签记录的统计数据。每一个数据中位于“/”左侧的数值表示第一标识位的取值,位于“/”右侧的数值表示数据位所记录的数据。

进一步地,在对像素点16和19进行连通域分析时,则以此类推,可以确定出像素点16和19的目标连通域标签分别为2和3。在对像素点1a进行连通域分析时,由于像素点1a与像素点1a所在位置的“左”方向位置相邻的像素点19连通,且根据记录的行标签信息root_pointers可快速查找到像素点19的目标连通域标签为3;则将像素点1a的目标连通域标签也确定为3。像素点1a与像素点19在标签图label和行标签信息root_pointers中的信息保持一致;然后在连通域统计信息record_result_list的第三个方格所指示位置处将连通域标签3对应的第一标识位调整为0,并在第三个方格所指示数据位为连通域标签3记录数目数据2,故第三个方格中的数据表示为“0/2”。

在对像素点21进行连通域分析时,可以确定出像素点22的目标连通域标签为4。在对像素点22进行连通域分析时,由于像素点22与其所在位置的“上”方向位置相邻的像素点12连通,且与其所在位置的“左”方向位置相邻的像素点21连通,表明像素点12和像素点21属于同一个连通域;另外根据记录的行标签信息可快速查找到像素点12的目标连通域标签为1,像素点21的目标连通域标签为4,表明连通域标签1和4也属于同一个连通域。此时将像素点22的目标连通域标签确定为标签值较小的1,同时需要合并连通域标签1和连通域标签4所对应的两个连通域。

请一并参见图7,图7为图1第二行像素点连通域分析完成后的结果示意图,也包括标签图、行标签信息和连通域统计信息三个部分。如图7所示,在确定出像素点22的目标连通域标签为1之后,在待分析图像的标签图label_list中第二行第二列的位置为像素点22记录其目标连通域标签1。在行标签信息root_pointers中的第2个方格所指示位置为像素点22记录其目标连通域标签1。在连通域统计信息record_result_list的第一个方格所指示位置处将连通域标签1对应的第一标识位调整为0,并在第一个方格所指示数据位为连通域标签1记录数目数据3。由于图7行标签信息中记录的是第二行像素点均处理完之后的数据,故第一个方格中的数据表示为“0/4”,连通域标签为1的还包括像素点23。在连通域统计信息record_result_list的第四个方格所指示位置处将连通域标签4对应的第一标识位调整为1,并在第四个方格所指示的数据位为连通域标签4记录指针数据1,表示连通域标签4为中间节点标签,且指向根节点标签1,故第四个方格中的数据表示为“1/1”。采用上述处理方式直至对待分析图像连通域分析完成,此处不再赘述。

需要说明的是,请参见图7中行标签信息中阴影填充的两个方格,以从左至右第一个阴影填充的方格为例,该阴影填充的方格记录的是像素点21的目标连通域标签,在对像素点21进行连通域分析完成之后,确定出像素点21的目标连通域标签为4,且连通域标签4为根节点标签。但由于在对像素点22进行连通域分析过程中,将原本为根节点标签的连通域标签4调整成一个指向根节点标签1的中间节点标签。如果在对待分析图像第三行的像素点进行连通域分析时直接以连通域标签4作为根节点,则可能导致出错。因此在一实施例中,在对待分析图像每行的待分析像素点进行连通域分析的过程中,如果需要从行标签信息root_pointers中直接获取与待分析像素点在同一列中上方向上相邻的像素点的连通域标签时,则可以对从行标签信息root_pointers中获取到的与待分析像素点在同一列中上方向上相邻的像素点的连通域标签进行根节点标签判断;如果判断出该连通域标签为根节点标签,则基于该连通域标签确定出待分析像素点的目标连通域标签;如果判断出该连通域标签不为根节点标签,则从连通域统计信息record_result_list中查找出该连通域标签所指向的根节点标签,并基于该连通域标签所指向的根节点标签确定出待分析像素点的目标连通域标签。经实践发现,行标签信息中记录的连通域标签为中间节点标签的情况出现次数不多,并且一般只需一两次查找即可找到行标签信息中中间节点标签所指向的根节点标签,对连通域的处理速度影响不太;在连通域分析过程中,记录行标签信息,并基于行标签信息进行连通域分析,可以有效提高连通域处理速度。

本发明实施例中,首先对待分析像素点进行连通域分析,并根据分析结果在标签图中为待分析像素点记录目标连通域标签;然后根据目标连通域标签更新连通域统计信息;其中,若目标连通域标签为根节点标签,则在连通域统计信息中记录第一类统计数据,若目标连通域标签为中间节点标签,则在连通域统计信息中记录第二类统计数据。采用上述方式,不仅可以有效降低ddr的读请求次数,还可以实现统计数据的复用,有效节省存储空间以及计算资源,扩大连通域处理的应用场景。

请参见图8,在另一实施方式所提供的一种连通域处理方法较之图4所示的方法在步骤s403之后还包括以下步骤:

s404、所述数据处理设备在预设的多个连通域标签使用完之后,根据当前记录的行标签信息从所述多个连通域标签中确定出生长标签和非生长标签。

本发明实施例中,在预设的多个连通域标签使用完之后,也即是预设的多个连通域标签全分配给待分析图像中的待分析像素点之后,需要进行连通域标签的回收和重用。生长标签是有可能继续向下延伸的连通域标签,对后续连通域分析影响较大,应不支持回收和重用;非生长标签是不会继续向下延伸的连通域标签,对后续连通域分析影响很小,可以回收和重用。具体地,数据处理设备可以根据当前记录的行标签信息从预设的多个连通域标签中确定出生长标签和非生长标签。在一实施例中,数据处理设备从预设的多个连通域标签中确定出存在于当前记录的行标签信息中的第一标签,并将第一标签确定为生长标签;从预设的多个连通域标签中确定出不存在于当前记录的行标签信息中的第二标签,并将第二标签确定为非生长标签。

在另一实施例中,数据处理设备从预设的多个连通域标签中确定出存在于当前记录的行标签信息中的第一标签,并确定出不存在于当前记录的行标签信息中的第二标签;然后根据记录的连通域统计信息,从预设的多个连通域标签中确定出为该第一标签的根节点标签或者中间节点标签的第三标签;最后将第二标签中除第三标签之外的标签确定为非生长标签,将所述第一标签以及所述第三标签确定为生长标签。相对于前文所述的直接将不存在于当前记录的行标签信息中的第二标签作为非生长标签,本实施例中所述的方式是将第二标签中除去第三标签之外的标签作为非生长标签,采用此方式确定出的非生长标签可以在一定程度上保证对后续连通域分析没有影响。

在一实施例中,连通域统计信息还包括第二标识位,第二标识位用于记录连通域标签的生长标识,当第二标识位为第三标识时表示连通域标签为非生长标签,当第二标识位为第四标识时表示连通域标签为生长标签。其中,第三标识可以是标识“0”,第四标识可以是标识“1”。第二标识位可以是连通域统计信息的最高比特位,也可以是连通域统计信息的最低比特位;第二标识位可以与第一标识位相邻,也可以与第一标识位不相邻。当第二标识位与第一标识位相邻时,第二标识位可以位于第一标识位的左相邻位置,也可以位于第一标识位的右相邻位置。

s405、所述数据处理设备根据所述非生长标签对所述待分析图像中未完成连通域分析的像素点进行连通域分析。

本发明实施例中,在对待分析图像中未完成连通域分析的待分析像素点进行连通域分析时,若确定出待分析像素点与其相邻像素点中的一个连通,则将与待分析像素点连通的相邻像素点的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与其相邻像素点中的至少两个连通,则将与待分析像素点连通的至少两个相邻像素点的连通域标签中,标签值最小的连通域标签作为待分析像素点的目标连通域标签。若确定出待分析像素点与其相邻像素点均不连通,则将非生长标签中未被使用的一个连通域标签作为待分析像素点的目标连通域标签。具体处理方式可参考前文描述,此处不再赘述。采用上述方式,可以实现连通域标签的回收和重用,可以在支持的最大连通域标签较小的情况下,依然可以完成对待分析图像的处理;由于回收的标签占用的存储空间不变,从而可以利用较小的存储空间即可完成对待分析图像的处理,有效节省存储空间。

为更好的理解本方案中连通域标签的回收和重用方法,下面举例进行详细说明。请一并参见图9,为本发明第二实施例提供的一种连通域的示意图,为按照前文所述连通域分析方法分析完成之后的结果。如图9所示,图9表示待分析图像,图中的每个格子表示待分析图像的一个像素点。图中阴影填充的格子表示待分析图像中的有效像素点,未阴影填充的格子表示待分析图像中的无效像素点,有效像素点与无效像素点不连通;阴影填充的多个格子组成了待分析图像的多个连通域。图中未阴影填充的格子中的标记信息表示相应像素点在待分析图像中的坐标信息,图中阴影填充的格子中的标记信息表示相应像素点在待分析图像中的坐标信息,以及连通域分析之后确定出的连通域标签。具体是位于“/”左侧的数值表示像素点在待分析图像中的坐标信息,位于“/”右侧的数值表示像素点的连通域标签。

对于连通域标签的回收和重用方法,回收也即是确定出非生长标签,重用也即是利用非生长标签进行后续的连通域分析;主要基于待分析图像的某条分割线而言,如果待分析图像中的某部分连通域没有跨过该分割线,则该部分连通域中像素点对应的所有连通域标签均不会在该分割线以下出现,可以将这类连通域标签作为非生长标签,并进行回收和重用。以图9中虚线框作为分割线为例,在虚线框所在行之前已经不再生长的连通域中的标签将不会在虚线框以下区域出现,例如由连通域标签1和4组成的连通域、以及由连通域标签2和5组成的连通域不会再往下生长,则连通域标签1、2、4、5不会在虚线框以下区域中出现。而在虚线框行内的连通域标签组成的连通域继续生长的可能性很大,故在虚线框行内的连通域标签可能会在虚线框以下区域出现,例如连通域标签3和7在虚线框行内,由连通域标签7组成的连通域会继续往下生长,由连通域标签3组成的连通域继续向下生长的可能性很大,则连通域标签3和7均可能在虚线框以下区域中出现。综上所述,连通域标签1、2、4和5都可以回收,并可以在虚线框以下的部分进行重用而不产生影响。

前文对连通域标签的回收和重用的主要思想进行了说明,下面依然以图9为例来具体说明连通域标签的回收和重用过程。假设将图9所示待分析图像连通域分析时支持的最大连通域标签设置为7,针对图9所示待分析图像前46个像素点的连通域分析方法可参照前文描述,此处不再赘述。在对像素点46连通域分析完之后,也即是赋予像素点点46一个新的连通域标签7之后,预设的7个连通域标签1至7均已被使用,无新的连通域标签可以用于后续的连通域分析。故而此时应进行连通域标签的回收,记录当前回收位置为像素点46。请一并参见图10,图10为本发明实施例提供的一种行标签信息的示意图,图10中行标签信息与原图关系,为像素点46连通域分析完成之后,行标签信息与原待分析图像之间的关系,结合图10中的行标签信息可知,此时行标签信息中前6个数据从左至右分别是像素点41、42、43、44、45、46连通域分析之后的连通域标签0、0、0、0、0、7;而后6个数据分别是像素点46所在行的上一行中的像素点37、38、39、3a、3b、3c连通域分析之后的连通域标签;0、0、0、3、0、6。

进一步地,对图10所示的行标签信息进行一次梳理,只要出现在行标签信息中的根节点标签,就有可能继续往下生长,而未出现在行标签信息中的根节点标签所指向的连通域中的全部连通域标签均可以进行回收。基于图10中的行标签信息可以找出有可能继续往下生长的根节点标签为3、7、6,随后在连通域统计信息中对根节点标签3、7、6进行生长标记。请一并参见图11,为本发明第二实施例提供的一种连通域统计信息的示意图,具体为连通域标签回收之前经过梳理后的图9所示待分析图像对应的连通域统计信息的示意图。如图11所示,第一标识位用于指示数据位所存放的统计数据的类型,第二标识位用于记录连通域标签的生长标识,当第二标识位为“0”时表示连通域标签为非生长标签,当第二标识位为“1”时表示连通域标签为生长标签。可见,连通域标签4指向根节点标签1(也即是01),连通域标签5指向根节点标签2(也即是10),连通域标签3、6、7为生长标签。其中,在连通域统计信息中对根节点标签3、7、6进行生长标记之后,对连通域统计信息进行梳理,将所有中间节点标签均改为指向根节点标签。需要说明的是,本例子中对图10所示的行标签信息进行梳理前后,记录的连通域统计信息不变,均为图11所示的连通域统计信息。其中,梳理过程举例说明如下:假设连通域统计信息中记录了10->9->8->7->6的一条链表,7->6表示连通域标签7指向连通域标签6,从链表可知从连通域标签10开始查找可以确定出连通域标签6为根节点标签,然后将连通域标签10、9、8均修改成指向根节点标签6的一级中间节点标签,也即是10->6,9->6,8->6,7->6。

进一步地,对图11所示的连通域统计信息进行一次遍历,确定出生长标记为“0”的根节点标签以及指向这些根节点标签的一级中间节点标签,上述两类连通域标签也即是非生长标签。通过遍历图11所示的连通域统计信息可以确定出1、2、4、5四个非生长标签,此时可以将非生长标签1、2、4、5保存到预设存储空间中。进一步地,基于非生长标签1、2、4、5,从像素点47开始继续进行后续待分析像素点的连通域分析,对于需要赋予一个新的连通域标签的情况,只需将预设存储空间中保存的可重用非生长标签读出使用即可。请一并参见图12,为本发明第三实施例提供的一种连通域的示意图,具体为采用上述连通域标签回收和重用方式完成图9中所有像素点连通域分析后的结果。如图12所示,像素点46及其之前的像素点,也即是图中方格未加粗显示的部分,是利用预设的7个连通域标签1至7进行标记的部分,也即是连通域标签回收以及重用之前的部分。像素点47及其之后的像素点,也即是图中方格加粗显示的部分,是利用回收的非生长标签进行标记的部分,也即是连通域标签重用的部分。可以通过记录的回收位置像素点46来区别上述两个部分。其中,像素点49、4a、59、69对应的连通域标签为非生长标签1,像素点52、53、54、55、56、62、65对应的连通域标签为非生长标签2,像素点6b、6c对应的连通域标签为非生长标签4。可见,回收的4个非生长标签中的1、2和4三个连通域标签均进行了标签重用。

在一实施例中,在对待分析图像中的所有待分析像素点连通域分析完成之后,数据处理设备还可以根据记录的连通域统计信息以及标签图确定出待分析图像中不满足预设条件的连通域,并对不满足预设条件的连通域中的像素点进行过滤。在一实施例中,不满足预设条件是指:连通域中相连通的像素点的数量小于预设数值。

下面结合前文所述的例子进行举例说明,假设希望通过连通域分析过滤掉待分析图像中相连通的像素点的数量小于5的连通域。在前文进行连通域标签的回收过程中,通过遍历图11所示的连通域统计信息确定出1、2、4、5四个非生长标签之后,由于此时由连通域标签1和4组成的连通域中相连通的像素点的数量为5,则此连通域中的像素点应保留;此时由连通域标签2和5组成的连通域中相连通的像素点的数量为4,则此连通域中的像素点应过滤掉;此时可以将非生长标签1、4保存到第一预设存储空间中,将非生长标签2、5保存到第二预设存储空间中。请一并参见图13,为本发明第三实施例提供的一种连通域统计信息的示意图,具体为采用上述连通域标签回收和重用方式完成图9中所有像素点连通域分析后记录的连通域统计信息。如图13所示,连通域统计信息中连通域标签1、2、4对应的数据均是为图12中加粗显示部分像素点记录的。可见连通域标签3指向根节点标签1,连通域标签5和7均指向根节点标签2,连通域标签1对应的数目数据为8、连通域标签2对应的数目数据为8、连通域标签4对应的数目数据为2。

由于方格未加粗部分和方格加粗部分中的连通域标签有重复的,故需要对图13所示的连通域统计信息进行一次遍历,将所有中间节点标签的统计数据用其根节点标签的统计数据替代,否则会影响结果判断。请一并参见图14,图14为本发明第四实施例提供的一种连通域统计信息的示意图,具体为图13所示连通域统计信息遍历之后的结果,此结果可以用于对方格加粗部分中的连通域进行分析。由于连通域标签4对应的数目数据小于5,故需要将方格加粗部分中连通域标签为4的像素点过滤掉;结合图12所示的连通域标记结果,或者记录的待分析图像对应的标签图,可以确定出方格加粗部分中连通域标签为4的像素点为6b和6c,故可以将图9所示待分析图像中的像素点6b和6c过滤掉。

对于方格未加粗部分的连通域分析,由于图14所示的连通域统计信息中已经将重用的非生长标签对应的统计数据修改了,图14所示的连通域统计信息不能直接用于分析,需要将回收连通域标签时保存在第一预设存储单元和第二预设存储单元中的连通域标签1、4、2、5读出,并且根据读出地址的不同修改图14所示的连通域统计信息中相应的统计数据。请一并参见图15,为本发明第五实施例提供的一种连通域统计信息的示意图,具体为根据连通域标签1、4、2、5读出地址的不同对图14所示的连通域统计信息中相应统计数据进行修改后的结果。具体地,从第一预设存储单元中读出的连通域标签表示相应连通域中相连通的像素点的数量大于或者等于5,不能过滤,而从第二预设存储单元中读出的连通域标签表示相应连通域中相连通的像素点的数量小于5,可以过滤。如图15所示,直接将从第一预设存储单元中读出的连通域标签1、4所对应的连通域统计信息中的数目数据修改为5(也即101),而将从第二预设存储单元中读出的连通域标签2、5所对应的连通域统计信息中的数目数据修改为0,以便于进行后续判断。由于连通域标签2、5、6对应的数目数据小于5,故需要将方格未加粗部分中连通域标签为2、5、6的像素点过滤掉;结合图12所示的连通域标记结果,或者记录的待分析图像对应的标签图,可以确定出方格未加粗部分中连通域标签为2、5、6的像素点为16、26、27、25、3c,故可以将图9所示待分析图像中的像素点16、26、27、25、3c过滤掉。采用上述方式,可以对待分析图像中相连通的像素点的数量小于预设数值的连通域中的像素点进行过滤。

需要说明的是,由于处理过程中可能存在回收一次连通域标签并不能完全分析完一张待分析图像的情况,此时可以继续执行上述连通域标签回收和重用过程,具体处理方式可参考前文描述,此处不再赘述。而在连通域分析过程中,例如在将不满足预设条件的连通域中的像素点进行过滤的过程中,则需要针对待分析图像按照从下到上,从右到左的顺序进行分析,与确定待分析像素点的连通域标签的过程相反;这样可以在一定程度上保证重用的连通域标签不对分析结果产生影响。如果同样希望按照从上到下、从左到右的顺序进行连通域分析,则需要对处理过程中多个阶段的连通域统计信息进行备份,基于备份的连通域统计信息可以实现按照从上到下、从左到右的顺序进行连通域分析。

请参阅图16,为本发明实施例提供的一种数据处理设备的结构示意图。本发明实施例中所描述的数据处理设备包括:处理器1601、通信接口1602、存储器1603。其中,处理器1601、通信接口1602、存储器1603可通过总线或其他方式连接,本发明实施例以通过总线连接为例。

处理器1601可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),或者cpu和np的组合。处理器1601也可以是多核cpu、或多核np中用于实现通信标识绑定的核。

所述处理器1601可以是硬件芯片。所述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。所述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

所述通信接口1602可用于收发信息或信令的交互,以及信号的接收和传递。所述存储器1603可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的存储程序(比如文字存储功能、位置存储功能等);存储数据区可存储根据装置的使用所创建的数据(比如图像数据、文字数据)等,并可以包括应用存储程序等。此外,存储器1603可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述存储器1603还用于存储程序指令。所述处理器1601,用于执行所述存储器1603存储的程序指令,当所述程序指令被执行时,所述处理器1601用于:

获取待分析图像,对所述待分析图像中当前的待分析像素点进行连通域分析,并根据分析结果在所述待分析图像的标签图中为所述待分析像素点记录目标连通域标签;根据所述目标连通域标签更新所述待分析图像的连通域统计信息;其中,在对所述连通域统计信息进行更新时,若所述目标连通域标签为根节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第一类统计数据,所述第一类统计数据为数目数据,所述数目数据用于指示标记为所述目标连通域标签以及标记的连通域标签指向所述目标连通域标签的像素点的个数;若所述目标连通域标签为中间节点标签,则在所述连通域统计信息中为所述目标连通域标签记录第二类统计数据,所述第二类统计数据为指针数据,所述指针数据用于指示所述目标连通域标签所指向的根节点标签。

本发明实施例中处理器执行的方法均从处理器的角度来描述,可以理解的是,本发明实施例中处理器要执行上述方法需要其他硬件结构的配合。本发明实施例对具体的实现过程不作详细描述和限制。

在一实施例中,所述连通域统计信息包括第一标识位和数据位,其中,所述第一标识位用于表示所述数据位记录的统计数据的类型,所述数据位用于表示为所述目标连通域标签记录的统计数据;当所述第一标识位为第一标识时,所述数据位为所述目标连通域标签记录的是第一类统计数据,当所述第一标识位为第二标识时,所述数据位为所述目标连通域标签记录的是第二类统计数据。

在一实施例中,所述处理器1601对所述待分析图像中当前的待分析像素点进行连通域分析时,具体用于:从所述待分析图像中确定出与当前的待分析像素点相邻的相邻像素点;根据所述相邻像素点对所述待分析像素点进行连通域分析,确定出所述待分析像素点的目标连通域标签。

在一实施例中,所述相邻像素点包括:与所述待分析像素点在同一列中上方向上相邻的第一像素点,和/或,与所述待分析像素点在同一行中左方向上相邻的第二像素点。

在一实施例中,所述处理器1601根据所述相邻像素点对所述待分析像素点进行连通域分析,确定出所述待分析像素点的目标连通域标签时,具体用于:根据所述第一像素点对所述待分析像素点进行连通域分析;若确定出所述待分析像素点与所述第一像素点连通,则将所述第一像素点的连通域标签作为所述待分析像素点的目标连通域标签。

在一实施例中,所述处理器1601根据所述相邻像素点对所述待分析像素点进行连通域分析,确定出所述待分析像素点的目标连通域标签时,具体用于:根据所述第二像素点对所述待分析像素点进行连通域分析;若确定出所述待分析像素点与所述第二像素点连通,则将所述第二像素点的连通域标签作为所述待分析像素点的目标连通域标签。

在一实施例中,所述处理器1601根据所述相邻像素点对所述待分析像素点进行连通域分析,确定出所述待分析像素点的目标连通域标签时,具体用于:根据所述第一像素点以及所述第二像素点对所述待分析像素点进行连通域分析;若确定出所述待分析像素点与所述第一像素点以及所述第二像素点均连通,则将所述第一像素点的连通域标签以及所述第二像素点的连通域标签中标签值最小的连通域标签作为所述待分析像素点的目标连通域标签。

在一实施例中,所述处理器1601还用于:将所述第一像素点的连通域标签以及所述第二像素点的连通域标签中标签值最大的连通域标签确定为指向所述目标连通域标签的中间节点标签;对所述连通域统计信息中所述标签值最大的连通域标签进行更改。

在一实施例中,所述处理器1601对所述连通域统计信息中所述标签值最大的连通域标签进行更改时,具体用于:将所述连通域统计信息中所述标签值最大的连通域标签对应的第一标识位调整为所述第二标识;在所述连通域统计信息中所述标签值最大的连通域标签对应的数据位,为所述标签值最大的连通域标签记录第二类统计数据,记录的第二类统计数据指示所述标签值最大的连通域标签指向所述目标连通域标签。

在一实施例中,所述处理器1601还用于:若确定出所述待分析像素点与所述第一像素点以及所述第二像素点均不连通,则将预设的多个连通域标签中未被使用的一个连通域标签作为所述待分析像素点的目标连通域标签。

在一实施例中,与所述待分析像素点在同一列中上方向上相邻的第一像素点的连通域标签被记录在行标签信息中;所述行标签信息中还包括位于所述待分析像素点同一行中左方向上的像素点的连通域标签,以及位于所述第一像素点同一行中右方向上的像素点的连通域标签。

在一实施例中,所述处理器1601还用于:在所述待分析像素点连通域分析完成之后,根据确定出的所述待分析像素点的目标连通域标签对所述行标签信息进行更新。

在一实施例中,所述处理器1601还用于:在预设的多个连通域标签使用完之后,根据当前记录的行标签信息从所述多个连通域标签中确定出生长标签和非生长标签;根据所述非生长标签对所述待分析图像中未完成连通域分析的像素点进行连通域分析。

在一实施例中,所述处理器1601根据当前记录的行标签信息从所述多个连通域标签中确定出生长标签和非生长标签时,具体用于:从所述多个连通域标签中确定出存在于当前记录的行标签信息中的第一标签,并将所述第一标签确定为生长标签;从所述多个连通域标签中确定出不存在于当前记录的行标签信息中的第二标签,并将所述第二标签确定为非生长标签。

在一实施例中,所述处理器1601根据当前记录的行标签信息从所述多个连通域标签中确定出生长标签和非生长标签时,具体用于:从所述多个连通域标签中确定出存在于当前记录的行标签信息中的第一标签,并确定出不存在于当前记录的行标签信息中的第二标签;根据所述连通域统计信息,从所述多个连通域标签中确定出为所述第一标签的根节点标签或者中间节点标签的第三标签;将所述第二标签中除所述第三标签之外的标签确定为非生长标签,将所述第一标签以及所述第三标签确定为生长标签。

在一实施例中,所述连通域统计信息包括第二标识位,所述第二标识位用于记录连通域标签的生长标识,当所述第二标识位为第三标识时表示连通域标签为非生长标签,当所述第二标识位为第四标识时表示连通域标签为生长标签。

在一实施例中,所述处理器1601还用于:根据所述连通域统计信息以及所述标签图确定出所述待分析图像中不满足预设条件的连通域;对所述不满足预设条件的连通域中的像素点进行过滤。

在一实施例中,不满足预设条件是指:连通域中相连通的像素点的数量小于预设数值。

在一实施例中,所述连通域统计信息保存在片内随机存取存储器ram中,和/或,所述行标签信息保存在片内寄存器中,和/或,所述标签图保存在片外双倍速率同步动态随机存储器ddr中。

具体实现中,本发明实施例中所描述的处理器1601、通信接口1602、存储器1603可执行本发明实施例提供的一种连通域处理方法中所描述的实现方式,在此不再赘述。

本发明实施例中,首先对待分析像素点进行连通域分析,并根据分析结果在标签图中为待分析像素点记录目标连通域标签;然后根据目标连通域标签更新连通域统计信息;其中,若目标连通域标签为根节点标签,则在连通域统计信息中记录第一类统计数据,若目标连通域标签为中间节点标签,则在连通域统计信息中记录第二类统计数据。采用上述方式,不仅可以有效降低ddr的读请求次数,还可以实现统计数据的复用,有效节省存储空间以及计算资源,扩大连通域处理的应用场景。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述方法实施例所述的连通域处理方法。

本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例所述的连通域处理方法。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

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

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