基于基于FPGA的二值图像连通域标记快速算法实现的二值图像连通域标记快速算法实现
摘 要:针对高速图像目标实时识别和跟踪任务,需要利用系统中有限的硬件资源实现高速、准确的二值图像连
通域标记,提出了一种适合FPGA实现的二值图像连通域标记快速算法。算法以快捷、有效的方式识别、并记录
区域间复杂的连通关系。与传统的二值图像标记算法相比,该算法具有运算简单性、规则性和可扩展性的特
点。利用FPGA实现该算法时,能够准确有效的识别出图像中复杂的连通关系,产生正确的标记结果。在
100MHz工作时钟下,处理384×288像素的红外图像能够达到400帧/s以上的标记速度,足够满足实时目标识别
系统的要求。 关键词:二值图像;连通域标记;并行处理;FPGA Realization of a
摘 摘 要:要:针对高速图像目标实时识别和跟踪任务,需要利用系统中有限的硬件资源实现高速、准确的二值图像连通域标
记,提出了一种适合FPGA实现的二值图像连通域标记快速算法。算法以快捷、有效的方式识别、并记录区域间复杂的连通关
系。与传统的二值图像标记算法相比,该算法具有运算简单性、规则性和可扩展性的特点。利用FPGA实现该算法时,能够准
确有效的识别出图像中复杂的连通关系,产生正确的标记结果。在100MHz工作时钟下,处理384×288像素的红外图像能够达
到400帧/s以上的标记速度,足够满足实时目标识别系统的要求。
关键词: 关键词:二值图像;连通域标记;并行处理;FPGA
Realization of a fast connected components labeling algorithm for binary image based on FPGA
He Ming Wang Xinsai
(Infrared & radio-frequency technology Center,
Air Defense Forces Command Academy, Zhengzhou, 450052, P.R. China)
Abstract: Based on high-speed image target recognition and tracking tasks, need to make use of limited hardware resources
required to achieve high-speed system, accurate binary image component labeling. Proposed a suitable hardware algorithm
to achieve rapid binary image component labeling. Algorithm for fast, effective way to identify and record the complex inter-
regional connectivity. With the traditional binary image marker algorithm, the algorithm is a simple, rules and scalability
characteristics.The simulation results show that the algorithm can accurately identify effective connectivity complex images,
produced the correct labeling. The algorithm in hardware form, in the 100MHz clock work, 384 × 288-pixel infrared image
processing to achieve more than 400 pictures of the markings s speed enough to meet the demands of real-time object
recognition system.
Key words: binary image ,connected components labeling, parallel process,FPGA;
1 引言引言
在图像自动目标识别和跟踪过程中,首先对图像目标进行阈值分割提取,得到的二值图像通常包含多个连通区域,系统利
用图像目标的形状特性对可疑高威胁的飞行目标进行自动识别。因此,需要对各连通区域块进行分别检测判断,本文采用改进
的适合FPGA实现的快速标记算法对各连通域进行检测提取。
实现二值图像连通体检测通常采用的方法有下几种[1] [2] [3]:区域生长法:首先对图像进行逐行(列)扫描,每遇到一个未
标记的“1”像素点,就分配其一个未使用过的标号,然后对其领域进行检测,如有未标记过的“1”像素,则赋予相同的标号。反
复进行这一操作.直到不存在应该传播标号的“1”像素。然后继续图像行(列)扫描,如检测判未标记的“1”像素则赋予其新的标
号,并进行与以上相同的处理。整个图像扫描结束,算法也就终止。这种方法可准确地检测出各种类型的连通体.但处理时间
也较长.因为要逐一检测每一“1”像素的邻域,且出现“1”像素的重复扫描。跟踪算法:二值图像中每个取值为“1”的像素 被标记
一个与其坐标相关的标号,如由n,m串构成的数。热后,扫描标记后的图像,并将每十像素的标号改为其邻域内的标号。反
复执行这个过程,直到不需要作标记更改为止。用这种方法处理小而凸的目标时,收敛速度较慢。
本文以适合FPGA实现为目的,提出一种具有计算规则性的快速二值图像连通域标记算法。与传统的二值图像标记算法相
比,该算法具有运算简单性、规则性和可扩展性的特点,适合以FPGA实现。选用在100MHz工作时钟下,处理384×288像素
的红外图像能够达到400帧/秒以上的标记速度,足够满足实时目标识别系统的要求。处理速度可以满足大部分实时目标识别
系统的要求。该算法同样可以软件编程方式应用于嵌入式DSP系统中。
2 算法描述算法描述
首先,在进行标记算法以前,利用硬件开辟独立的图像标记缓存和连通关系数组,接着在视频流的采集传输过程中,以流
水线的方式按照视频传输顺序对图像进行逐行像素扫描,然后对每个像素的邻域分别按照逆时针方向和水平方向进行连通性检
测和等价标记关系合并,检测出的结果对标记等价数组和标记缓存进行更新,在一帧图像采集传输结束后,得到图像的初步标
记结果以及初步标记之间的连通关系,,根据标号对连通关系数组从小到大的传递过程进行标号的归并,利用归并后的连通关
系数组对图像标记缓存中的标号进行替换,替换后的图像为终标记结果,并且连通域按照扫描顺序被赋予的连续自然数。
图 1 标记算法流程
本文快速二值图像连通域标记算法分为三个环节: