【技术实现步骤摘要】
一种基于FPGA的高性能亚像素边缘定位方法
[0001]本专利技术涉及基于FPGA的图像处理领域,特别涉及一种基于FPGA的高性能亚像素边缘定位方法。
技术介绍
[0002]在大部分计算机视觉应用中,边缘定位是必不可少的图像预处理环节,是完成对目标的识别、定位与测量的基础。边缘定位的方法按照精度可以分为像素级边缘定位方法和亚像素边缘定位方法。像素级边缘定位方法依据图像灰度特征直接提取边缘点的像素级坐标,包括基于Sobel算子的边缘定位方法、基于Roberts算子的边缘定位方法和Canny边缘定位方法等。亚像素边缘定位方法更进一步的使用图像的灰度信息,计算出边缘点的亚像素级坐标,包括基于Zernike矩的亚像素边缘定位方法、基于形态学梯度的样条插值亚像素边缘检测方法和基于贝塞尔边缘模型的亚像素边缘检测方法等。边缘定位方法的精度的直接影响后续方法,亚像素边缘定位方法通常在精度方面展现明显的优势。然而,亚像素边缘定位方法往往计算十分复杂,消耗的计算时间远远超过像素级边缘定位方法。
技术实现思路
[0003]本专利技术公开了一种基于FPGA的高性能亚像素边缘定位方法,通过在完成图像采集的同时,并行运行像素级边缘定位操作和亚像素边缘定位操作,并采用流水线流程加速方法,能够以极高的性能完成图像的亚像素边缘定位和相应的单位矢量计算。该方法可以极大程度地降低图像处理所带来的延时,是一种高效的亚像素边缘定位方法,具有重要的工程意义。
[0004]本专利技术的目的是通过以下技术方案来实现的:
[0005] ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的高性能亚像素边缘定位方法,其特征在于,包括如下步骤:1)在FPGA采集相机的图像数据流时,所述FPGA对图像数据流进行像素级边缘定位操作和亚像素边缘定位操作;所述像素级边缘定位操作共包含四项流水线流程,分别为Sobel梯度计算、图像二值化、Sobel阈值更新和二值图像腐蚀;基于所述像素级边缘定位操作生成像素级边缘数据流;所述亚像素边缘定位操作共包含四项流水线流程,分别为Zerinike矩卷积计算、Zerinike矩边缘坐标计算、图像解畸变投影计算和三维矢量单位化计算;基于所述亚像素边缘定位操作生成亚像素边缘数据流和单位矢量数据流;2)对步骤1)中所述像素级边缘数据流、亚像素边缘数据流和单位矢量数据流进行信号同步,然后依照FPGA像素级边缘定位结果,确定并存储最终定位的图像亚像素边缘和相应的单位矢量。2.根据权利要求1所述的基于FPGA的高性能亚像素边缘定位方法,其特征在于,步骤1)中,所述FPGA对图像数据流进行像素级边缘定位操作,具体为:Sobel梯度计算:计算图中每一个像素对应的Sobel梯度,具体方法为:对于图中的某一个相邻的3
×
3的像素区域,即:式中:p
11
,p
12
,p
13
,
…
,p
33
为所述像素区域中各像素点的灰度值,那么其对应的Sobel梯度为:G=|(p
11
+2p
12
+p
13
)
‑
(p
31
+2p
32
+p
32
)|+|(p
13
+2p
23
+p
33
)
‑
(p
11
+2p
21
+p
31
)|
ꢀꢀ
(2)式中:G代表中心像素p
22
对应的Sobel梯度;图像二值化;计算图中每一个像素对应的图像二值化数据,具体方法为:对于图中的某一个像素,若其对应的Sobel梯度大于Sobel阈值T,则将其记为1,否则记为0,将得到的数据记为图像二值化数据;Sobel阈值更新;计算图像中所有像素对应Sobel梯度数据的平均值,并将其乘以经验系数,即得到新的Sobel阈值T,以供图像数据流中的下一张图像处理时使用;二值图像腐蚀;计算图中每一个像素对应的图像腐蚀数据,具体方法为:对于图中的某一个像素,若其本身、其前一行同一列的像素、其后一行同一列的像素、其同一行前一列的像素、其同一行后一列的像素,共五个像素对应的图像二值化数据均为1,则将其记为1,否则记为0,得到的数据记为图像腐蚀数据;定义该步骤生成的数据流为像素级边缘数据流。3.根据权利要求1所述的基于FPGA的高性能亚像素边缘定位方法,其特征在于,步骤1)中...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。