本发明专利技术涉及一种基于FPGA的单像素边缘检测方法。该检测方法首先将RGB空间图像转换为灰度图像,继而对视频图像进行快速中值滤波,边缘增强等预处理操作,继而采用Canny边缘检测算法,计算图像的梯度及梯度方向,并进行非极大值抑制和双阈值分割等处理,得到相对精细的视频图像边缘。在Canny边缘检测的基础上,检测方法利用形态学处理的方法对边缘图像进行腐蚀运算,进一步细化边缘,可得到单像素的边缘处理效果。该检测方法将视频空间转换、快速中值滤波、边缘检测、边缘细化集成于一片FPGA内,既实现了视频图像的单像素边缘检测,同时利用FPGA的可编程特性,可将其定制为根据具体需求实现参数可调的IP核,方便进行系统升级与扩展。
【技术实现步骤摘要】
本专利技术涉及一种基于FPGA的单像素边缘检测方法,具体地说,涉及一种利用FPGA 实现图像的边缘提取,并对边缘进行细化,得到单像素精度的图像边缘。属于电子信息领 域。
技术介绍
近年来计算机视觉技术迅猛发展,根据不同的应用,计算机视觉处理主要包括区 域分割,图像增强,边缘检测,视频编码,3D技术等等。边缘检测技术是其中相对成熟且应用 广泛的视觉处理技术。目前,计算机视觉处理技术主要是基于PC机操作的,随着嵌入式技 术的发展,嵌入式的机器视觉技术逐步发展起来,在科研、工业控制、航天事业等各个领域 都得到了广泛的应用。经相关检索调研,传统边缘检测技术是基于PC机上的,虽然检测的边缘效果好, 但PC机操作不可避免地存在着诸如成本高,体积大,稳定性差等缺陷。目前,嵌入式的视频 边缘检测技术多用DSP芯片操作,为串行处理,对于边缘提取效果要求较高的操作,DSP处 理复杂,延时时间长。另一方面,上世纪90年代出现的现场可编程器件(FPGA),设计方便灵 活,并行处理结构可大幅度缩短处理时间,满足诸多场合的实时性要求,且开发周期短,更 可根据需要定制IP核,易于扩展、升级。随着FPGA性能的不断提升,基于FPGA设计的嵌入 式系统应用越来越广泛,特别是在数字图像处理领域,借助于基于逻辑和并行处理的优势, 相对其他处理器系统,FPGA的应用在市场上遥遥领先,在未来嵌入式机器视觉中应用潜力 巨大。
技术实现思路
本专利技术的目的在于针对已有技术存在的缺陷,提供一种基于FPGA的单像素边缘 检测方法。以FPGA为基础,将输入的视频信号逐帧进行边缘提取并细化,每帧图像得到单 像素的边缘。将机器视觉技术与FPGA处理技术结合,既可以很好满足单像素边缘提取的 实时性,又可以利用FPGA的IP核定制功能,满足更多具体需求,特别是工业控制中的机器 视觉辅助计算方面的应用。FPGA与机器视觉的结合提高了系统设计的性价比,同时,随着 FPGA性能的不断提高,处理速度越来越快,内部集成的功能模块越来越多,检测方法的性能 会越好。为实现上述目的,本专利技术采用下述技术方案一种基于FPGA的单像素边缘检测方法由RGB视频空间转换程序,图像预处理程序, Carmy边缘检测算法程序,形态学腐蚀及单像素轮廓提取程序等组成。检测方法操作步骤可 概括为FPGA从外部得到RGB空间的视频信号,包括视频数据以及行、场、像素等时钟同步 信号;视频数据直接被送往RGB空间转换程序,转换为灰度空间图像;灰度图像与时钟同步 信号进一步连接到图像预处理程序,滤除图像噪声并增强图像边缘等;经过滤波后的图像 数据在时钟同步信号的控制下进行Carmy边缘检测,获得相对精细的视频图像边缘;最后将Carmy检测到的边缘图像在时钟同步信号的控制下进行形态学腐蚀运算,并根据视频内 容进行适当的边缘细化操作,最终提取出单像素的边缘。上述RGB视频空间转换程序包括彩色图像到灰度图像的转换以及灰度图像亮度 的调整。彩色视频存在多种色彩空间,但对视频处理过程中采用RGB视频数据处理最为方 便,而且各种色彩空间准可转换为RGB数据。在此要提取视频的边缘图像,需将彩色空间转 换到灰度空间,这样即将三路数据处理过程转换为一路数据处理。视频图像的边缘有一定 宽度,为得到尽可能细小的边缘,可预先对得到的灰度图像进行亮度调整,消除一些亮度偏 低的像素点,使边缘尽可能保留同时又尽可能细小,方便后续细小边缘的提取。得到的尽可 能理想的灰度视频信号继而被送往图像预处理程序处理。上述图像预处理程序由快速中值滤波与图像边缘增强两部分组成,由于视频信号 无可避免地存在噪声影响,有必要对图像进行滤波处理。中值滤波算法采用3X3像素模 块,通过比较运算,求取9个像素值中的中间值,代替3X3像素块中间位置像素点的像素 值。快速中值滤波算法将9个像素点的比较运算分解为3组3个像素分别比较,经过三个 层次比较,得到中间值,可有效减小运算的复杂度,满足视频信号处理的实时性等要求。具 体操作步骤如下①串行输入的图像数据经过3级FIFO缓冲,并在每级FIFO输出端引入两级寄存器, 每个端口引出数据输出端,得到并行的3 X 3像素块的9个像素值。②将9个像素值分为三组,分别比较计算得到每组的最小值、中间值和最大值。③将②中得到的三个最小值分别为一组进行比较,输出其中的最大值,将②中得 到的三个中间值分为一组进行比较,输出其中的中间值,将②中得到的三个最大值分别为 一组进行比较,输出其中的最小值。④将③中得到的最大值、中间值、最小值进行比较,输出中间值,即得到3X3像 素块中的中值。经过快速中值滤波处理后的视频受噪声影响小。图像边缘增强处理采用3X3像 素块与3X3模板卷积运算实现,图像边缘增强处理可有效增强边缘像素的梯度差,使边缘 更突出。预处理后的图像被送往下级Carmy边缘检测算法程序提取图像边缘。上述Carmy边缘检测算法程序包括梯度及梯度方向计算,非极大值抑制,双阈值 分割三个部分。传统的Carmy边缘检测需要四步,在计算视频梯度钱需要对视频图像进行 高斯滤波,在此,检测方法预处理部分已经对图像进行快速中值滤波,故省去此步骤。梯度 计算包括水平(dx)与垂直梯度(dy)以及总梯度(M (X,y))的计算,采用2 X 2的梯度计算模 板与通过FIFO获得像素点周边像素值进行运算得到,总梯度计算公式存在平方根计算,检 测方法对其进行一定的近似,近似为水平与垂直梯度的绝对值之和。传统梯度方向的计算 采用反正切函数计算,运算量巨大,严重影响系统的实时性设计,在此,检测方法将梯度方 向划分为八个方向(采用3X3像素块,计算中间像素点梯度方向),每四十五度为一个方向, 利用反正切函数在四十五度及其倍数角度上的特殊性,将反三角函数计算用水平梯度值与 垂直梯度值的比较运算来代替。具体操作步骤如下①根据FIFO三级缓冲,得到3X3像素块。判断中间像素值的梯度方向。②将3X3像素块的中心像素点梯度方向按45度一个方向分解为8个梯度方向。③利用正切函数在45度角及其倍数角上的特殊性将FPGA反三角函数的求解转化为水平与垂直梯度的正负及绝对值大小比较操作,从而使梯度方向的判定得到简化。④根据中心像素点水平、垂直梯度的正负及绝对值的大小,得到其梯度方向。确定出各像素点的梯度方向后即可在此方向上进行梯度的非极大值抑制。非极大 值抑制即剔除掉非最佳边缘的像素点,从而得到尽可能精确的边缘。通过比较该像素点的 梯度值与其梯度方向上像素点的梯度值大小进行判定该像素点是否为边缘点,从而实现非 极大值的抑制。非极大值抑制处理在得到精确边缘的同时也不可避免得将一些原本是边缘 点的像素点剔除掉,从而导致边缘像素的不连续。Carmy算法采用双阈值分割的方法来尽可 能恢复边缘点。双阈值分割即设定高低两个阈值供像素点的梯度值比较,梯度值大于大阈 值的像素点认为必然是边缘点,梯度值小于小阈值的边缘点认为必然是非边缘点,梯度值 介于大小阈值之间的像素点,需进一步考察其周边是否有梯度大于大阈值的像素点,若有, 则仍认为该像素点为边缘点,若无,则其为非边缘点。操作步骤可概括如下①若像素点梯度值高于高阈值,则判定该点为边缘点。②若像素点梯度值低于低阈值,则判定该点必为非边缘点本文档来自技高网...
【技术保护点】
一种基于FPGA的单像素边缘检测方法,其特征在于操作步骤如下:A.对传输至FPGA的RGB空间视频信号首先经过RGB转灰度空间变换,得到一路灰度信号供后续处理;B.对灰度图像依次进行快速中值滤波、边缘增强图像预处理操作,减小图像噪声影响并突出图像边缘部分,方便后续处理;C.对得到的图像进行Canny边缘检测,经过Canny边缘检测算法的三部步操作后,得到边缘相对细致的视频图像;D.最后对边缘图像进行形态学腐蚀运算操作,进一步细化边缘,最终获得单像素精度的边缘图像。
【技术特征摘要】
【专利技术属性】
技术研发人员:彭方新,陆小锋,陆亨立,杨静,牛娜,范天翔,沈苏旻,
申请(专利权)人:上海大学,上海磐宏电子科技有限公司,
类型:发明
国别省市:31[中国|上海]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。