CN115908473A - 一种图像连通域连接方法及装置 - Google Patents
一种图像连通域连接方法及装置 Download PDFInfo
- Publication number
- CN115908473A CN115908473A CN202211396444.2A CN202211396444A CN115908473A CN 115908473 A CN115908473 A CN 115908473A CN 202211396444 A CN202211396444 A CN 202211396444A CN 115908473 A CN115908473 A CN 115908473A
- Authority
- CN
- China
- Prior art keywords
- processed
- pixel point
- pixel
- label
- label number
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Processing (AREA)
Abstract
本申请提供一种图像连通域连接方法及装置,涉及图像处理技术领域。该方法通过根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号;根据待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并;将标签号相同的多个像素点连接,生成待处理二值化图像中的多个连通域。从而,通过逐行处理,可以处理一行像素点的标签号,同时缓存上一行像素点的标签号,并对相邻像素点的标签号进行合并,以高效地完成像素点标签号赋值,提高了连接连通域的效率,降低了延迟时间。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种图像连通域连接方法及装置。
背景技术
连通域算法主要是对二值化图像进行处理分析,将相互毗邻且二值化值为“1”的像素点归结到同一个连通域中,不相互毗邻的点归结到不同的连通域中,通过分析连通域中的像素点数、坐标等信息,最终得出连通域的面积、质心等特征值。
现有技术中,通过逐行扫描图像,将每一行中相互毗邻且二值化值为“1”的像素组成一个序列称为一个团,并记下它的起点、它的终点以及它所在的行号。并根据当前团是否与前一行中的所有团有没有重合区域确定它的标号,从1开始,给每个团赋予一个标号;将每个团的标号填入标记图像中。每个标号相同的团即为一个连通域。
但是,现有技术的方案,图像全部扫描结束后,才能得到最终的等价序列,所以基于等价序列合并的结果延迟时间在一帧图像以上,导致效率较低、最终结果输出延迟较大。
发明内容
本发明的目的在于,针对上述现有技术中的不足,本申请提供了一种图像连通域连接方法及装置,以解决现有技术中图像连通域处理效率低等问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种图像连通域连接方法,所述方法包括:
根据待处理二值化图像中待处理像素点的二值化像素值、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号;其中,所述待处理像素点上一行对应位置包括:所述待处理像素点上一行的前一列像素位置、所述待处理像素点上一行的像素位置、所述待处理像素点上一行的后一列像素位置;
根据所述待处理像素点的标签号、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并;
将标签号相同的多个所述像素点连接,生成所述待处理二值化图像中的多个连通域。
可选地,所述根据待处理二值化图像中待处理像素点的二值化像素值、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号,包括:
若所述待处理像素点的二值化像素值为0,则确定所述待处理像素点的标签号为0;
若所述待处理像素点的二值化像素值为1,则根据所述待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号。
可选地,所述若所述待处理像素点的二值化像素值为1,则根据所述待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号,包括:
若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为非0,则确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的标签号;
若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为0,则根据所述待处理像素点的当前行前一列像素点的标签号确定所述待处理像素点的标签号。
可选地,若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为0;
所述根据所述待处理像素点的当前行前一列像素点的标签号确定所述待处理像素点的标签号,包括:
若所述待处理像素点的当前行前一列像素点的标签号为0,则在标签号缓存区中按照标签号排列顺序确定最靠前的标签号为所述待处理像素点的标签号;
若所述待处理像素点的当前行前一列像素点的标签号非0,则确定所述待处理像素点的当前行前一列像素点的标签号为所述待处理像素点的标签号。
可选地,若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为非0;
所述确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的标签号,包括:
若所述待处理像素点的当前行前一列像素点的标签号为0,则确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的标签号;
若所述待处理像素点的当前行前一列像素点的标签号非0,则确定所述待处理像素点的当前行前一列像素点的标签号为所述待处理像素点的第一参考标签值、并确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的第二参考标签值。
可选地,所述根据所述待处理像素点的标签号、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并,包括:
比较所述第一参考标签值和所述第二参考标签值;
若所述第一参考标签值大于或等于所述第二参考标签值,则保持所述待处理像素点的标签号不变;
若所述第一参考标签值小于所述第二参考标签值,则将所述待处理像素点的标签号更新为所述待处理像素点的当前行前一列像素点的标签号。
可选地,所述将所述待处理像素点的标签号更新为所述待处理像素点的当前行前一列像素点的标签号之后,所述方法还包括:
获取待合并像素点的标签号以及所述待合并像素点当前行前一列像素点的标签号、下一行对应位置像素点的标签号;其中,所述待合并像素点为所述待处理像素点上一行像素位置的像素点,所述待合并像素点下一行对应位置包括:所述待合并像素点下一行前一列像素位置、所述待合并像素点下一行像素位置、所述待合并像素点下一行后一列像素位置;
若所述待合并像素点的非0标签号以及所述待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号都相等,则不进行合并;
若在所述待合并像素点的非0标签号以及所述待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号中,至少存在两个所述非0标签号不相等,则将所有的所述非0标签号合并为其中的最小标签号。
可选地,所述将标签号相同的多个所述像素点连接,生成所述待处理二值化图像中的多个连通域之前,所述方法还包括:
将合并后无赋值的所述标签号回收至所述标签号缓存区;
将回收后的所述标签号与所述标签号缓存区中原有的所述标签号进行排序,形成新的所述标签号的排列顺序。
可选地,所述根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号之后,所述方法还包括:
将当前行所有像素点的标签号写入现场可编程门阵列FPGA内部缓存器中,用于在确定下一行的像素点的标签号时读出。
第二方面,本申请实施例提供一种图像连通域连接装置,所述装置包括:
确定模块,用于根据待处理二值化图像中待处理像素点的二值化像素值、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号;其中,所述待处理像素点上一行对应位置包括:所述待处理像素点上一行的前一列像素位置、所述待处理像素点上一行的像素位置、所述待处理像素点上一行的后一列像素位置;
合并模块,用于根据所述待处理像素点的标签号、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并;
连接模块,用于将标签号相同的多个所述像素点连接,生成所述待处理二值化图像中的多个连通域。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供一种图像连通域连接方法及装置。该方法通过根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号;根据待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并;将标签号相同的多个像素点连接,生成待处理二值化图像中的多个连通域。从而,通过逐行处理,可以处理一行像素点的标签号,同时缓存上一行像素点的标签号,并对相邻像素点的标签号进行合并,以高效地完成像素点标签号赋值,提高了连接连通域的效率,降低了延迟时间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请提供的一种二值化图像的示意图;
图2为本申请提供的一种图像连通域连接方法的流程示意图;
图3为本申请提供的一种确定待处理像素点的标签号的方法的流程示意图;
图4为本申请提供的另一种确定待处理像素点的标签号的方法的流程示意图;
图5为本申请提供的又一种确定待处理像素点的标签号的方法的流程示意图;
图6为本申请提供的再一种确定待处理像素点的标签号的方法的流程示意图;
图7为本申请提供的一种标签号合并的方法的流程示意图;
图8为本申请提供的另一种标签号合并的方法的流程示意图;
图9为本申请提供的一种标签号统计合并实例图;
图10为本申请提供的一种标签号回收的方法的流程示意图;
图11为本申请提供的一种基于FPGA内部缓存器的缓存示意图;
图12为本申请提供的一种基于FPGA内部缓存器双端口RAM的缓存示意图;
图13为本申请实施例提供的一种图像连通域连接装置的示意图;
图14为本申请实施例提供的一种电子设备的示意图。
图标:1301-确定模块、1302-合并模块、1303-连接模块、1401-处理器、1402-存储介质。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
为提高图像连通域处理效率,本申请提供了一种图像连通域连接方法及装置。
在对本申请提供的一种图像连通域连接方法解释之前,对图像连通域进行解释。图1为本申请提供的一种二值化图像的示意图。
如图1所示,该图像包括5行×5列共25个像素点,为了便于理解,以如下标识举例说明,包括:A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y。每个像素点都有对应的行和列,可根据每个像素点的行和列确定该像素点在图像中的位置。
以图1所示的图像为例,对连通域进行解释。若图中25个像素点的二值化像素值依次为:A为0、B为0、C为1、D为1、E为1、F为0、G为0、H为1、I为1、J为1、K为0、L为0、M为0、N为0、O为0、P为1、Q为1、R为0、S为1、T为1、U为1、V为1、W为0、X为1、Y为1。则可对二值化像素值为1的像素点进行标签号赋值,例如,将像素点C、D、E、H、I、J的标签号赋值为1,将像素点P、Q、U、V的标签号赋值为2,将像素点S、T、X、Y的标签号赋值为3,而其他像素点的标签号赋值为0(将0视为无效标签)。由上述可知,标签号相同的像素点都为相连接的像素点,因此将标签号相同的像素点连接形成该标签号对应的连通域。0为无效标签,对标签号为0的标签不做处理。以此,形成一个二值化图像中的多个连通域。
如下通过具体示例对本申请提供的一种图像连通域连接方法进行解释说明。图2为本申请提供的一种图像连通域连接方法的流程示意图。该方法的执行主体为电子设备,该电子设备可以为具有计算处理功能的设备,例如,嵌入FPGA(Field Programmable GateArray,现场可编程门阵列)的设备。如图2所示,该方法包括:
S101、根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号。
其中,待处理像素点上一行对应位置包括:待处理像素点上一行的前一列像素位置、待处理像素点上一行的像素位置、待处理像素点上一行的后一列像素位置。示例地,如图1所示,若以像素点M为待处理像素点,则像素点L为待处理像素点的当前行前一列像素点,则像素点G为待处理像素点上一行的前一列像素位置,则像素点H为待处理像素点上一行的像素位置,则像素点I为待处理像素点上一行的后一列像素位置。
需要说明的是,待处理二值化图像可以是由待处理图像处理而来,图像经过二值化处理后变为二值化图像,二值化图像上的像素点的二值化像素值只有0或1。通过扫描待处理二值化图像,从左到右、自上而下,以行为单位,逐行对待处理二值化图像每一行中的像素点进行标签号赋值。逐行处理时,可以处理一行像素点的标签号,同时缓存上一行像素点的标签号。
当待处理二值化图像第一行第一列的像素点(例如图1中的像素点A)为待处理像素点时,该像素点没有上一行对应位置像素点,也没有当前行前一列像素点。根据该像素点的二值化像素值,直接确定待处理像素点的标签号。示例地,该像素点的二值化像素值为1,则从标签号缓存区中按照标签号排列顺序确定最靠前的标签号为待处理像素点的标签号(排列顺序为由小到大排列的正整数标签号,由于是第一个赋值的标签号,因此最靠前的标签号为1);该像素点的二值化像素值为0,则将待处理像素点的标签号赋值为0(将0视为无效标签)。
除了待处理二值化图像第一行第一列的像素点之外,当其他像素点作为待处理像素点时,待处理像素点存在上一行对应位置像素点和/或当前行前一列像素点。因此,根据待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号,以使得二值化像素值都为1的相邻像素点的标签号相同。
其中,待处理像素点的相邻像素点包括:待处理像素点上一行对应位置像素点及当前行前一列像素点。需要说明的是,从理论上讲,待处理像素点下一行对应位置像素点及当前行后一列像素点也为待处理像素点的相邻像素点,但是基于本申请中从左到右、自上而下、以行为单位逐行处理的原则,当处理待处理像素点时,这些像素点还未被处理,因此确定待处理像素点的标签号时,不考虑这些像素点。
S102、根据待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并。
确定了待处理像素点的标签号之后。若待处理像素点上一行对应位置像素点和/或当前行前一列像素点也存在标签号,则需要检查待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号是否相同。若相同,则完成了标签号赋值,且相邻像素点之间的标签号都相同。若不相同,则需要根据待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并,以将相邻像素点之间的标签号合并为相同标签号。
S103、将标签号相同的多个像素点连接,生成待处理二值化图像中的多个连通域。
经过逐行对待处理二值化图像中的像素点进行标签号赋值、合并,待处理二值化图像中的相邻像素点的标签号都相同。以标签号相同指代了像素点相邻,即标签号相同的多个像素点都是依次相邻的。进而将非0标签号相同的多个像素点连接,生成待处理二值化图像中的多个连通域。
通过逐行处理,可以处理一行像素点的标签号,同时缓存上一行像素点的标签号,并对相邻像素点的标签号进行合并。在最后一行处理完毕之后,延误时间不超过两行的处理时间,即可获取到待处理二值化图像所有行像素点的标签号,以高效地完成像素点标签号赋值。
综上,在本实施例中,通过根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号;根据待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并;将标签号相同的多个像素点连接,生成待处理二值化图像中的多个连通域。从而,通过逐行处理,可以处理一行像素点的标签号,同时缓存上一行像素点的标签号,并对相邻像素点的标签号进行合并,以高效地完成像素点标签号赋值,提高了连接连通域的效率,降低了延迟时间。
在一种实施例中,本申请提供了一种确定待处理像素点的标签号的方法。图3为本申请提供的一种确定待处理像素点的标签号的方法的流程示意图。如图3所示,S101中的根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号,包括:
S201、若待处理像素点的二值化像素值为0,则确定待处理像素点的标签号为0。
在图像中连接连通域时,只关注二值化像素值为1的像素点。因此,若待处理像素点的二值化像素值为0,则确定待处理像素点的标签号为0(将0是为无效标签)。再后续连接标签号相同的像素点形成连通域时,只连接非0标签号相同的像素点,不连接标签号为0的像素点。
S202、若待处理像素点的二值化像素值为1,则根据待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号。
若待处理像素点的二值化像素值为1,则可对待处理像素点赋值非0标签号(有效标签)。
示例地,当待处理二值化图像第一行第一列的像素点(例如图1中的像素点A)为待处理像素点时点。则从标签号缓存区中按照标签号排列顺序确定最靠前的标签号为待处理像素点的标签号。除了待处理二值化图像第一行第一列的像素点之外,当其他像素点作为待处理像素点时,则根据待处理像素点的上一行对应位置像素点的标签号和/或当前行前一列像素点的标签号,确定待处理像素点的标签号。
综上,在本实施例中,若待处理像素点的二值化像素值为0,则确定待处理像素点的标签号为0;若待处理像素点的二值化像素值为1,则根据待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号。从而,通过待处理像素点的二值化像素值,对待处理像素点的标签号有效性进行精准区分。
在一种实施例中,本申请提供了另一种确定待处理像素点的标签号的方法。图4为本申请提供的另一种确定待处理像素点的标签号的方法的流程示意图。如图4所示,S202中的若待处理像素点的二值化像素值为1,则根据待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号,包括:
S301、若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为非0,则确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号。
在确定待处理像素点的标签号时,待处理像素点的上一行对应位置像素点及当前行前一列像素点都为待处理像素点的相邻像素点,但本申请以待处理像素点的上一行对应位置像素点优先的原则确定标签号。
因此,先获取待处理像素点的上一行对应位置像素点的标签号。若待处理像素点的二值化像素值为1,则说明可对待处理像素点赋值非0标签号。待处理像素点的上一行对应位置像素点的标签号为非0,则说明该标签号有效。可直接确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号。
由上述实施例可知,上一行对应位置像素点包括三个不同位置的像素点,这三个像素点至少存在一个像素点的标签号为非0,就可以将该标签号确定为待处理像素点的标签号。
示例地,若在待处理像素点上一行对应位置中,待处理像素点上一行的像素位置的像素点标签号为0,待处理像素点上一行的前一列像素位置与待处理像素点上一行的后一列像素位置的像素点标签号不同时。在这种情况下,基于本申请左到右的像素处理原则,将待处理像素点上一行的前一列像素位置的像素点标签号确定为待处理像素点的标签号。而确定之后,存在待处理像素点上一行的后一列像素位置的像素点标签号与待处理像素点的标签号不同的情况,这种情况在后续实施例中的标签号合并中会被妥善处理。
以图1为例,以像素点M为待处理像素点,若像素点H的标签号为0,像素点G与像素点I的像素点标签号不同时。在这种情况下,将像素点G的像素点标签号确定为待处理像素点的标签号。
S302、若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为0,则根据待处理像素点的当前行前一列像素点的标签号确定待处理像素点的标签号。
若待处理像素点的二值化像素值为1,则说明可对待处理像素点赋值非0标签号。待处理像素点的上一行对应位置像素点的标签号为0,则说明该标签号无效。无法根据待处理像素点的上一行对应位置像素点的标签号确定待处理像素点的标签号。则需要进一步地根据待处理像素点的当前行前一列像素点的标签号确定待处理像素点的标签号。
综上,在本实施例中,若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为非0,则确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号;若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为0,则根据待处理像素点的当前行前一列像素点的标签号确定待处理像素点的标签号。从而,分级先通过待处理像素点的上一行对应位置像素点的标签号对待处理像素点的标签号,提高了标签号确定效率。
在一种实施例中,本申请提供了又一种确定待处理像素点的标签号的方法。图5为本申请提供的又一种确定待处理像素点的标签号的方法的流程示意图。如图5所示,若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为0。
相应地,S302中的根据待处理像素点的当前行前一列像素点的标签号确定待处理像素点的标签号,包括:
S401、若待处理像素点的当前行前一列像素点的标签号为0,则在标签号缓存区中按照标签号排列顺序确定最靠前的标签号为待处理像素点的标签号。
若待处理像素点的当前行前一列像素点的标签号为0,则说明该标签号无效。在这种情况下,待处理像素点的所有已处理相邻像素点的标签号都无效。无法再根据待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号确定待处理像素点的标签号。
而待处理像素点的二值化像素值为1,还需对待处理像素点赋值非0标签号,则在标签号缓存区中按照标签号排列顺序确定最靠前的标签号为待处理像素点的标签号。确定之后的待处理像素点的标签号为从标签号缓存区中新获取的标签号,与待处理二值化图像中已处理像素点的标签号都不同。
S402、若待处理像素点的当前行前一列像素点的标签号非0,则确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的标签号。
若待处理像素点的当前行前一列像素点的标签号非0,则说明该标签号有效,则直接确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的标签号。
综上,在本实施例中,若待处理像素点的当前行前一列像素点的标签号为0,则在标签号缓存区中按照标签号排列顺序确定最靠前的标签号为待处理像素点的标签号;若待处理像素点的当前行前一列像素点的标签号非0,则确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的标签号。从而,通过结合当前行前一列像素点的标签号,精准地确定标签号,提高了标签号确定效率。
在一种实施例中,本申请提供了再一种确定待处理像素点的标签号的方法。图6为本申请提供的再一种确定待处理像素点的标签号的方法的流程示意图。如图6所示,若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为非0。
相应地,S301中的确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号,包括:
S501、若待处理像素点的当前行前一列像素点的标签号为0,则确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号。
在待处理像素点的上一行对应位置像素点优先的原则的基础上,已经确定了待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号之后。还会获取到待处理像素点的当前行前一列像素点的标签号,可对待处理像素点的标签号做进一步的参考。
若待处理像素点的当前行前一列像素点的标签号为0,则表明该标签号无效。继续保持待处理像素点的标签号为待处理像素点的上一行对应位置像素点的标签号。
S502、若待处理像素点的当前行前一列像素点的标签号非0,则确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的第一参考标签值、并确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的第二参考标签值。
若待处理像素点的当前行前一列像素点的标签号非0,则表明该标签号有效。此时,待处理像素点的上一行对应位置像素点的标签号与待处理像素点的当前行前一列像素点的标签号都有效。根据待处理像素点的上一行对应位置像素点优先的原则,继续保持待处理像素点的标签号为待处理像素点的上一行对应位置像素点的标签号。这种情况下,存在待处理像素点的当前行前一列像素点的标签号与待处理像素点的标签号不同的情况,这种情况在后续实施例中的标签号合并中会被妥善处理。
为便后续的合并处理及数据读取,设置参考标签值。确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的第一参考标签值、并确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的第二参考标签值。
综上,在本实施例中,若待处理像素点的当前行前一列像素点的标签号为0,则确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号;若待处理像素点的当前行前一列像素点的标签号非0,则确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的第一参考标签值、并确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的第二参考标签值。从而,通过结合当前行前一列像素点的标签号,精准地确定标签号,提高了标签号确定效率。
在一种实施例中,本申请提供了一种标签号合并的方法。图7为本申请提供的一种标签号合并的方法的流程示意图。如图7所示,S102、根据待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并,包括:
S601、比较第一参考标签值和第二参考标签值。
S602、若第一参考标签值大于或等于第二参考标签值,则保持待处理像素点的标签号不变。
像素点标签号合并时,基于取小原则,相邻像素点的标签号不同时,将相邻像素点的标签号都赋值为其中最小的标签号。
若第一参考标签值大于第二参考标签值,则待处理像素点的当前行前一列像素点的标签号大于待处理像素点上一行对应位置像素点的标签号。而此时的待处理像素点的标签号是根据待处理像素点上一行对应位置像素点的标签号而确定,与其标签号相同。相较于待处理像素点的当前行前一列像素点的标签号,待处理像素点的标签号为小标签号,则继续保持待处理像素点的标签号不变。
若第一参考标签值等于第二参考标签值,则待处理像素点的当前行前一列像素点的标签号等于待处理像素点上一行对应位置像素点的标签号。而此时的待处理像素点的标签号是根据待处理像素点上一行对应位置像素点的标签号而确定,与其标签号相同。则待处理像素点的当前行前一列像素点的标签号与待处理像素点的标签号相同,则继续保持待处理像素点的标签号不变。
S603、若第一参考标签值小于第二参考标签值,则将待处理像素点的标签号更新为待处理像素点的当前行前一列像素点的标签号。
若第一参考标签值小于第二参考标签值,则待处理像素点的当前行前一列像素点的标签号小于待处理像素点上一行对应位置像素点的标签号。而此时的待处理像素点的标签号是根据待处理像素点上一行对应位置像素点的标签号而确定,与其标签号相同。相较于待处理像素点的当前行前一列像素点的标签号,待处理像素点的标签号为大标签号,基于取小原则,则将待处理像素点的标签号更新为待处理像素点的当前行前一列像素点的标签号。
上述步骤可看作为标签号合并中的标签号一次合并,在实际应用中,经过标签号一次合并后,相邻像素点标签号都会保持一致。若还存在相邻像素点标签号不一致的情况,在后续实施例中会一并处理。
综上,在本实施例中,通过比较第一参考标签值和第二参考标签值;若第一参考标签值大于或等于第二参考标签值,则保持待处理像素点的标签号不变;若第一参考标签值小于第二参考标签值,则将待处理像素点的标签号更新为待处理像素点的当前行前一列像素点的标签号。从而,通过标签号合并之后,更加精准地确定了像素点的标签号。
在一种实施例中,本申请提供了另一种标签号合并的方法。图8为本申请提供的另一种标签号合并的方法的流程示意图。如图8所示,在S603中的将待处理像素点的标签号更新为待处理像素点的当前行前一列像素点的标签号之后,方法还包括:
S701、获取待合并像素点的标签号以及待合并像素点当前行前一列像素点的标签号、待处理像素点下一行对应位置像素点的标签号。
其中,待合并像素点为待处理像素点上一行像素位置的像素点,待合并像素点下一行对应位置包括:待合并像素点下一行前一列像素位置、待合并像素点下一行像素位置、待合并像素点下一行后一列像素位置。示例地,如图1所示,若以像素点M为待处理像素点,则像素点H为待合并像素点,此时,像素点L为待合并像素点下一行前一列像素位置、像素点M为待合并像素点下一行像素位置、像素点N为待合并像素点下一行后一列像素位置。
在完成了标签号赋值、依次合并之后,以待处理像素点的位置来看,标签合并都已完成。但是,还存在以下相邻像素点标签号不一致的情况。如,待处理像素点的标签号被更新为待处理像素点的当前行前一列像素点的标签号,待处理像素点的标签号与待处理像素点上一行对应位置像素点的标签号不一致。又如上述实施例提到的,待处理像素点上一行的后一列像素位置的像素点标签号与待处理像素点的标签号不同的情况。且,多为待处理像素点的标签号小于待处理像素点上一行对应位置像素点的标签号的情况。
因此,为使得相邻像素点标签号都保持一致,需要进行标签号二次合并。此时,以待处理像素点上一行像素位置的像素点为待合并像素点进行合并处理。即,待处理像素点处理完成后,立即基于待合并像素点进行合并处理,以提高处理效率。
S702、若待合并像素点的非0标签号以及待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号都相等,则不进行合并。
若待合并像素点的非0标签号以及待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号都相等,满足相邻像素点标签号相同原则,不进行合并。非0标签号意味着标签号有效,本实施例中对非0有效标签号合并,不考虑标签号为0的像素点。
S703、若在待合并像素点的非0标签号以及待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号中,至少存在两个非0标签号不相等,则将所有的非0标签号合并为其中的最小标签号。
若在待合并像素点的非0标签号以及待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号中,至少存在两个非0标签号不相等。则不满足相邻像素点非0标签号相同原则,需要进行合并。
而在待合并像素点的非0标签号以及待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号中,总共涉及四个标签号,也就是最多为四个数(实际情况,多为两个数)。直接比较这四个标签号中的非0标签号,确定最小的标签号,将所有的非0标签号合并为其中的最小标签号。
上述步骤可看作为标签号合并中的标签号二次合并。通过标签号二次合并可进一步地对像素点的标签号进行检查,提高了标签号的精准度,而以待处理像素点上一行像素位置作为待合并像素点,提高了标签号合并效率。
综上,在本实施例中,获取待合并像素点的标签号以及待合并像素点当前行前一列像素点的标签号、待处理像素点下一行对应位置像素点的标签号;若待合并像素点的标签号以及待合并像素点当前行前一列像素点的标签号、待处理像素点下一行对应位置像素点的标签号都相等,则不进行合并;若在待合并像素点的标签号以及待合并像素点当前行前一列像素点的标签号、待处理像素点下一行对应位置像素点的标签号中,至少存在两个标签号不相等,则将所有的标签号合并为其中的最小标签号。从而,提高了标签号的精准度,提高了标签号合并效率。
接下来,以图1提供的图像为基础,通过实例对上述实施例中的标签号统计合并进行解释说明。图9为本申请提供的一种标签号统计合并实例图。如图9所示,包括:实例1、实例2,两个实例都是从左至右分别为标签号统计(标签号确定)、标签号一次合并、标签号二次合并。
以实例1为例,经过标签号统计,像素点K的标签号为2,像素点L的标签号为1,而像素点K为像素点L的当前行前一列的像素点。因此,在标签号一次合并中,将像素点K和像素点L的标签号都合并为1。而在二次合并中,标签号都已一致,则无需继续合并。
以实例2为例,经过标签号统计,像素点Q的标签号为1,像素点R的标签号为2,而像素点Q为像素点R的当前行前一列的像素点。因此,在标签号一次合并中,将像素点Q和像素点R的标签号都合并为1。而在二次合并中,像素点R为像素点N下一行前一列的像素点,则将像素点N的标签号合并为1;进而,像素点N为像素点O当前行前一列的像素点,则将像素点O的标签号合并为1。
在一种实施例中,本申请提供了一种标签号回收的方法。图10为本申请提供的一种标签号回收的方法的流程示意图。如图10所示,在S103中的将标签号相同的多个像素点连接,生成待处理二值化图像中的多个连通域之前,该方法还包括:
S801、将合并后无赋值的标签号回收至标签号缓存区。
标签号合并时,将小标签号赋值,而不使用大标签号赋值。若就此丢掉大标签号,则会造成标签号浪费。因此,可将将合并后无赋值的标签号回收至标签号缓存区,以便重新使用。
S802、将回收后的标签号与标签号缓存区中原有的标签号进行排序,形成新的标签号的排列顺序。
经过多次回收后,若直接将回收后标签号放置在标签号缓存区中,会使得标签号缓存区变得杂乱无章。因此,将回收后的标签号与标签号缓存区中原有的标签号进行排序,形成新的标签号的排列顺序。使得,新的标签号依旧按照从小到大的顺序排列。
综上,在本实施例中,将合并后无赋值的标签号回收至标签号缓存区;将回收后的标签号与标签号缓存区中原有的标签号进行排序,形成新的标签号的排列顺序。从而,通过将合并后无赋值的标签号回收,保障标签号的有效利用率,以节约资源。
在一种实施例中,S101中的根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号之后,方法还包括:
将当前行所有像素点的标签号写入FPGA内部缓存器中,用于在确定下一行的像素点的标签号时读出。
在本申请中,可采用FPGA进行图像像素点标签处理,并采用FPGA内部缓存器进行处理之后的缓存。例如,FPGA中的FIFO(First In First Out,先进先出数据缓存器)。
将当前行所有像素点统计的标签号(包括无效标签号0),写入到FPGA内部缓存器FIFO中,并不立即读出。延迟一行,在下一行的所有像素点的标签号统计结束之后再读出数据,以便于为后续的标签号合并做好时间准备。如,统计下一行像素点的标签号的过程中,当前行像素点的标签号进行合并处理。
图11为本申请提供的一种基于FPGA内部缓存器的缓存示意图。如图11所示,在标签号行缓存过程中采用了FIFO缓冲器,行数据读和写之间相差约统计一行标签号的时间间隔,保证在写当前行数据时,读出的数据为上一行数据,以便为后续的标签号合并操作留够时间。
进一步地,可采用FPGA内部缓存器双端口RAM进行缓存操作。图12为本申请提供的一种基于FPGA内部缓存器双端口RAM的缓存示意图。如图12所示,延迟一行读出数据,为后续的标签号合并做准备。
如图12所示,在合并标签号的行缓存过程中采用了双RAM乒乓操作,写RAM1时读RAM2,写RAM2时读RAM1,保证读写同时进行,以此最大程度上发挥FPGA的并行处理优势,以便尽可能减少结果输出延迟。
写RAM过程中,基于上述实施例中标签号一次合并的过程中,将参考标签值作为写入的地址和数据。具体地,比较完第一参考标签值和第二参考标签值之后,将大参考标签值作为地址,将小参考标签值作为数据。后续合并中大参考标签值将会被合并回收,小参考标签值作为合并后的替换标签号。读RAM的过程中,采用前一级标签号行缓中读出的行缓存标签号作为读地址,读出需要替换的标签号。
综上,在本实施例中,将当前行所有像素点的标签号写入FPGA内部缓存器中,用于在确定下一行的像素点的标签号时读出。从而,充分利用FPGA并行处理能力,快速进行连通域标签好赋值、合并、输出,提高了处理效率。
下述对用以执行的本申请所提供的一种图像连通域连接装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图13为本申请实施例提供的一种图像连通域连接装置的示意图,如图13所示,该装置包括:
确定模块1301,用于根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号;其中,待处理像素点上一行对应位置包括:待处理像素点上一行的前一列像素位置、待处理像素点上一行的像素位置、待处理像素点上一行的后一列像素位置。
合并模块1302,用于根据待处理像素点的标签号、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并。
连接模块1303,用于将标签号相同的多个像素点连接,生成待处理二值化图像中的多个连通域。
进一步地,确定模块1301,具体用于若待处理像素点的二值化像素值为0,则确定待处理像素点的标签号为0;若待处理像素点的二值化像素值为1,则根据待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定待处理像素点的标签号。
进一步地,确定模块1301,具体还用于若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为非0,则确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号;若待处理像素点的二值化像素值为1,且待处理像素点的上一行对应位置像素点的标签号为0,则根据待处理像素点的当前行前一列像素点的标签号确定待处理像素点的标签号。
进一步地,确定模块1301,具体还用于若待处理像素点的当前行前一列像素点的标签号为0,则在标签号缓存区中按照标签号排列顺序确定最靠前的标签号为待处理像素点的标签号;若待处理像素点的当前行前一列像素点的标签号非0,则确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的标签号。
进一步地,确定模块1301,具体还用于若待处理像素点的当前行前一列像素点的标签号为0,则确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的标签号;若待处理像素点的当前行前一列像素点的标签号非0,则确定待处理像素点的当前行前一列像素点的标签号为待处理像素点的第一参考标签值、并确定待处理像素点的上一行对应位置像素点的标签号为待处理像素点的第二参考标签值。
进一步地,合并模块1302,具体用于比较第一参考标签值和第二参考标签值;若第一参考标签值大于或等于第二参考标签值,则保持待处理像素点的标签号不变;若第一参考标签值小于第二参考标签值,则将待处理像素点的标签号更新为待处理像素点的当前行前一列像素点的标签号。
进一步地,合并模块1302,具体还用于获取待合并像素点的标签号以及待合并像素点当前行前一列像素点的标签号、下一行对应位置像素点的标签号;其中,待合并像素点为待处理像素点上一行像素位置的像素点,待合并像素点下一行对应位置包括:待合并像素点下一行前一列像素位置、待合并像素点下一行像素位置、待合并像素点下一行后一列像素位置;若待合并像素点的非0标签号以及待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号都相等,则不进行合并;若在待合并像素点的非0标签号以及待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号中,至少存在两个非0标签号不相等,则将所有的非0标签号合并为其中的最小标签号。
进一步地,合并模块1302,还用于将合并后无赋值的标签号回收至标签号缓存区;将回收后的标签号与标签号缓存区中原有的标签号进行排序,形成新的标签号的排列顺序。
进一步地,确定模块1301,还用于将当前行所有像素点的标签号写入FPGA内部缓存器中,用于在确定下一行的像素点的标签号时读出。
图14为本申请实施例提供的一种电子设备的示意图,该电子设备可以是具备计算处理功能的设备。例如,嵌入FPGA的设备。
该电子设备包括:处理器1401、存储介质1402。处理器1401和存储介质1402通过总线连接。
存储介质1402用于存储程序,处理器1401调用存储介质1402存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种图像连通域连接方法,其特征在于,所述方法包括:
根据待处理二值化图像中待处理像素点的二值化像素值、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号;其中,所述待处理像素点上一行对应位置包括:所述待处理像素点上一行的前一列像素位置、所述待处理像素点上一行的像素位置、所述待处理像素点上一行的后一列像素位置;
根据所述待处理像素点的标签号、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并;
将标签号相同的多个所述像素点连接,生成所述待处理二值化图像中的多个连通域。
2.根据权利要求1所述的方法,其特征在于,所述根据待处理二值化图像中待处理像素点的二值化像素值、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号,包括:
若所述待处理像素点的二值化像素值为0,则确定所述待处理像素点的标签号为0;
若所述待处理像素点的二值化像素值为1,则根据所述待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号。
3.根据权利要求2所述的方法,其特征在于,所述若所述待处理像素点的二值化像素值为1,则根据所述待处理像素点的上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号,包括:
若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为非0,则确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的标签号;
若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为0,则根据所述待处理像素点的当前行前一列像素点的标签号确定所述待处理像素点的标签号。
4.根据权利要求3所述的方法,其特征在于,若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为0;
所述根据所述待处理像素点的当前行前一列像素点的标签号确定所述待处理像素点的标签号,包括:
若所述待处理像素点的当前行前一列像素点的标签号为0,则在标签号缓存区中按照标签号排列顺序确定最靠前的标签号为所述待处理像素点的标签号;
若所述待处理像素点的当前行前一列像素点的标签号非0,则确定所述待处理像素点的当前行前一列像素点的标签号为所述待处理像素点的标签号。
5.根据权利要求3所述的方法,其特征在于,若所述待处理像素点的二值化像素值为1,且所述待处理像素点的上一行对应位置像素点的标签号为非0;
所述确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的标签号,包括:
若所述待处理像素点的当前行前一列像素点的标签号为0,则确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的标签号;
若所述待处理像素点的当前行前一列像素点的标签号非0,则确定所述待处理像素点的当前行前一列像素点的标签号为所述待处理像素点的第一参考标签值、并确定所述待处理像素点的上一行对应位置像素点的标签号为所述待处理像素点的第二参考标签值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述待处理像素点的标签号、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并,包括:
比较所述第一参考标签值和所述第二参考标签值;
若所述第一参考标签值大于或等于所述第二参考标签值,则保持所述待处理像素点的标签号不变;
若所述第一参考标签值小于所述第二参考标签值,则将所述待处理像素点的标签号更新为所述待处理像素点的当前行前一列像素点的标签号。
7.根据权利要求6所述的方法,其特征在于,所述将所述待处理像素点的标签号更新为所述待处理像素点的当前行前一列像素点的标签号之后,所述方法还包括:
获取待合并像素点的标签号以及所述待合并像素点当前行前一列像素点的标签号、下一行对应位置像素点的标签号;其中,所述待合并像素点为所述待处理像素点上一行像素位置的像素点,所述待合并像素点下一行对应位置包括:所述待合并像素点下一行前一列像素位置、所述待合并像素点下一行像素位置、所述待合并像素点下一行后一列像素位置;
若所述待合并像素点的非0标签号以及所述待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号都相等,则不进行合并;
若在所述待合并像素点的非0标签号以及所述待合并像素点当前行前一列像素点的非0标签号、下一行对应位置像素点的非0标签号中,至少存在两个所述非0标签号不相等,则将所有的所述非0标签号合并为其中的最小标签号。
8.根据权利要求1所述的方法,其特征在于,所述将标签号相同的多个所述像素点连接,生成所述待处理二值化图像中的多个连通域之前,所述方法还包括:
将合并后无赋值的所述标签号回收至标签号缓存区;
将回收后的所述标签号与所述标签号缓存区中原有的所述标签号进行排序,形成新的所述标签号的排列顺序。
9.根据权利要求1所述的方法,其特征在于,所述根据待处理二值化图像中待处理像素点的二值化像素值、待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号之后,所述方法还包括:
将当前行所有像素点的标签号写入现场可编程门阵列FPGA内部缓存器中,用于在确定下一行的像素点的标签号时读出。
10.一种图像连通域连接装置,其特征在于,所述装置包括:
确定模块,用于根据待处理二值化图像中待处理像素点的二值化像素值、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,确定所述待处理像素点的标签号;其中,所述待处理像素点上一行对应位置包括:所述待处理像素点上一行的前一列像素位置、所述待处理像素点上一行的像素位置、所述待处理像素点上一行的后一列像素位置;
合并模块,用于根据所述待处理像素点的标签号、所述待处理像素点上一行对应位置像素点的标签号及当前行前一列像素点的标签号,进行标签号合并;
连接模块,用于将标签号相同的多个所述像素点连接,生成所述待处理二值化图像中的多个连通域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211396444.2A CN115908473A (zh) | 2022-11-09 | 2022-11-09 | 一种图像连通域连接方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211396444.2A CN115908473A (zh) | 2022-11-09 | 2022-11-09 | 一种图像连通域连接方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115908473A true CN115908473A (zh) | 2023-04-04 |
Family
ID=86473743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211396444.2A Pending CN115908473A (zh) | 2022-11-09 | 2022-11-09 | 一种图像连通域连接方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115908473A (zh) |
-
2022
- 2022-11-09 CN CN202211396444.2A patent/CN115908473A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
He et al. | A run-based two-scan labeling algorithm | |
US7912286B2 (en) | Image processing apparatus and method of image processing capable of effective labeling | |
WO2006019165A1 (ja) | ラベルイメージの生成方法および画像処理システム | |
CN108154191B (zh) | 文档图像的识别方法和系统 | |
CN111860502A (zh) | 图片表格的识别方法、装置、电子设备及存储介质 | |
KR101655000B1 (ko) | 히스테리시스 임계화를 사용한 에지 추적 | |
US7277584B2 (en) | Form recognition system, form recognition method, program and storage medium | |
JP7026165B2 (ja) | テキスト認識方法及びテキスト認識装置、電子設備、記憶媒体 | |
CN108920540B (zh) | 一种基于Spark的并行栅格数据处理方法 | |
JP2013114655A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
Tang et al. | A linked list run-length-based single-pass connected component analysis for real-time embedded hardware | |
CN113283355A (zh) | 一种表格图像的识别方法、装置、计算机设备及存储介质 | |
CN114970475A (zh) | excel表格解析方法、系统、设备及存储介质 | |
Zhao et al. | A memory-efficient hardware architecture for connected component labeling in embedded system | |
CN108876701B (zh) | 一种基于游程的单次扫描连通域标记方法及其硬件结构 | |
CN115908473A (zh) | 一种图像连通域连接方法及装置 | |
Kong et al. | A low-latency multi-touch detector based on concurrent processing of redesigned overlap split and connected component analysis | |
CN111553847A (zh) | 图像处理方法及装置 | |
US11995890B2 (en) | Method and apparatus for tensor processing | |
CN113204706B (zh) | 基于MapReduce的数据筛选抽取方法及系统 | |
JP3904397B2 (ja) | 表認識方法 | |
CN113128496B (zh) | 一种从图像中提取结构化数据的方法、装置和设备 | |
CN110569684B (zh) | 一种小容量缓存的图像二值化方法 | |
CN111079771B (zh) | 点读图像的特征提取方法、系统、终端设备及存储介质 | |
US7940278B2 (en) | Method and system for programming for image enhancement |
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 |