一种对比度增强的边缘检测改进算法及FPGA实现

2014-09-18 00:15:24刘紫燕唐思腾徐跃州
电视技术 2014年15期
关键词:像素点平均值算子

刘紫燕,祁 佳,唐思腾,徐跃州,冯 亮

(贵州大学电子信息学院,贵州贵阳550025)

边缘是图像最基本的特征之一,蕴含了丰富的内在信息[1]。图像边缘通常是指图像的灰度值发生急剧变化的像素点的集合,图像的边缘含有丰富的信息,被广泛应用在图像处理以及目标识别等领域[2]。

传统的边缘检测算子是利用微分算子对像素灰度级剧烈变化进行检测从而得到边缘,如经典的Sobel边缘算子,其结构简单且运算速度快,但是边缘往往不够完整和细致,对于噪声和光照变化较为敏感,特别是低对比度图像,提取的边缘特征往往不明显[3]。

由生理学和光学原理可知,人眼感知的并非物体的绝对亮度,而是不同部位或物体间的相对亮度。因此对比度越强,画面越易于观察和鉴别[4]。针对Sobel边缘检测算法的不足,增大对比度可以提高算法对于边缘信息的鉴别能力。故本文提出一种新的基于对比度增强的Sobel边缘检测改进算法,利用对灰度图像对比度增强的规则,使该算法的边缘检测能力明显优于传统Sobel边缘检测算法。

1 基于对比度增强的边缘检测

基于对比度增强的边缘检测算法,需要对待检测的灰度图像进行合理的对比度增强,即对于灰度值进行合理的增大和减小,要确定灰度的增减值则需要使用合理的推理规则。

边缘通常存在于图像灰度值变化剧烈的部分,通过对边缘像素点与领域的像素点的差异进行分析,再利用边缘检测模板内的像素点灰度值间的差值增强,来判断像素是否为边缘点。

通常边缘像素点所在的边缘检测模板中心的窗口内灰度对比较强烈,但是在有背景噪声或者图像对比度低的情况下,会导致虚假边缘的出现或者边缘丢失。因此,如何在降低图像背景噪声的同时又能提高图像像素点之间的对比度,从而来改善图像的边缘检测质量。

由上述分析可知,对比度对图像边缘的影响较大,本文基于对比度增强的边缘检测算法,先对灰度图像进行中值滤波,再将灰度值进行对比度增强,最后将灰度值进行Sobel算法的边缘检测,并在FPGA上实现。

1.1 中值滤波

中值滤波使用非线性空间滤波方法来滤除噪声,能在滤除多种噪声的同时,又能很好地保留图像的边缘[5]。

中值滤波的主要原理是:将某个边缘检测模板中的所有像素点按灰度值大小进行排序,选择排序之后的序列中间值作为输出的中值滤波之后的像素值;如果邻域像素点灰度值与边缘模板的中心点像素值相差比较大,取与邻域像素点接近的值为该点中值滤波之后的值,从而达到降低噪声的目的。

1.2 Sobel边缘检测

Sobel算子计算梯度需要计算水平方向和垂直方向的梯度,再求两方向梯度的绝对值和最终梯度值,再与给定阈值进行判断得到图像边缘[6]。

Sobel算子是一阶微分的边缘检测算子,它把待检测图像看作一个曲面,把Sobel边缘检测算子作为梯度算子,作用于图像f(x,y),于是可得到向量场

局部梯度强度为

在图像边缘检测的实际应用与研究中,通常只需要计算出局部梯度强度,再经差分等相关技术进行离散化,即可得较为简单的边缘算子模板[6]。

1.3 对比度增强的改进Sobel算法

本算法是利用增强边缘检测模板中的某个像素点邻域值的对比度来实现的,首先求某个像素点的边缘检测模板内所有像素点的灰度值的平均值,再将边缘检测模板内所有像素点的值与该平均值进行比较,将模板内的像素点灰度值分为两类,再求该边缘检测模板内中心像素点与周围邻域点灰度值的差的绝对值的平均值,求出中心像素点与周围邻域点灰度值的差的平均值,将边缘模板内大于灰度值平均值的像素点加上该平均值,反之则减去中心像素点与周围邻域点灰度值的差的平均值,以达到对比度增强的目的。

设一个Sobel边缘检测模板内的像素点灰度值为:Pk(k=1,2,…,9),其中P5为需要判断是否为边缘点的模板中心点。

设该模板的像素点灰度值的平均值为Pa,则有

局部梯度方向为

设该模板的像素点与中心点像素P5差的绝对值的平均值为PT,则有

将Sobel模板中的所有像素点灰度值Pk依次与模板中像素点灰度值的平均值Pa进行比较,并分为两类:

如果Pk≥Pa,将该像素点分为A类:P'i(i=1,2,…,9);反之Pk<Pa,将该像素点分为B类:P'j(j=0,1,…,8)。

分别对A类和B类像素点作如下处理:

1)将A类像素点的灰度值加上该模板的像素点与中心点像素差的绝对值的平均值PT,得到新的A类像素点值:P'i+PT(i=1,2,…,9)。

2)将B类像素点的灰度值与该模板的像素点与中心点像素差的绝对值的平均值PT比较,如果B类像素点的灰度值大于或等于PT,得到新的像素值点:P'j-PT(j=0,1,…,8);反之则将P'j(j=0,1,…,8)置0。

3)将A类和B类灰度值增强后的像素点存储至灰度值增强前在边缘检测模板中的原始位置,即完成灰度值增强的运算。

1.4 对比度增强边缘检测算法流程

基于以上分析,利用Sobel算子的3×3模板,设计的本文算法如下:

1)将实时彩色图像转化为灰度图像,并对实时灰度图像进行中值滤波。

2)求出Sobel算子模板中所有像素点的灰度值的平均值Pa,并求得该模板的像素点与中心点像素P5差的绝对值的平均值为PT。

3)将Sobel模板中的所有像素点灰度值Pk(1≤k≤9)依次与模板中像素点灰度值的平均值Pa进行比较,并分为两类:大于或等于Pa分为A类,小于Pa则分为B类。

4)将A类像素点的灰度值加上该模板的像素点与中心点像素P5差的绝对值的平均值PT;将B类像素点的灰度值大于或等于该模板的像素点与中心点像素P5差的绝对值的平均值PT,则将该B类像素点的灰度值减去PT,反之则将该B类像素点的灰度值置0。

5)将A类和B类灰度值增强后的像素点存储到灰度值增强前在边缘检测模板中的原始位置。

6)将灰度值增强后的Sobel算子的3×3模板进行Sobel实时边缘检测,完成对比度增强的实时图像边缘检测。

2 改进算法的FPGA硬件实现

本系统将采集的实时彩色原始视频格式转化为RGB格式并存入4端口的SDRAM中,将RGB格式的实时彩色图像转化为实时灰度图像,将经过中值滤波后的实时灰度图像进行灰度值的对比度增强,再进行Sobel算子实时边缘检测,将得到的实时边缘图像在液晶屏显示。

2.1 中值滤波模块

中值滤波主要组成模块是窗口模块与排序模块,在判断边缘点之前,先使模板内的9个点通过3×3滑动窗口[7],如图1所示,其中Pk(1≤k≤9)是模板中的9个像素点的灰度值。

图1 3×3滑动窗口数据输出结构图

将模板中的9个点排序,再将点P5与排序后的所有点的最大值和最小值进行比较,如果P5为最大值或最小值,输出排序后所有点的中间值作为中值滤波的值;否则输出P5的值作为中值滤波的值[7]。

判断P5是否为最大值或最小值的过程可以用比较器来实现,其核心Verilog程序代码如下:

代码中:q[0]为排序后的最小值;q[8]为经过排序之后的最大值;q[4]为中间值;oDATA为输出的自适应中值滤波的值。

2.2 对比度增强模块

对比度增强模块主要由求Sobel算子模板平均值模块、求Sobel算子模板的像素点与中心点像素差的绝对值的平均值模块、对Sobel算子模板像素分类模块、对分类好的模块中像素值进行灰度值增强处理模块所组成,如图2所示。

图2 对比度增强模块结构图

2.3 Sobel边缘检测模块

该模块用3条线性缓冲器来实现Sobel算子对图像的卷积运算,其中乘加部分由QuartusII软件中LPM/Megafunctions宏功能模块库的可编程乘加器altmult_add与可编程多路并行加法器parallel_add模块进行运算[8]。其原理如图3所示,图中X1~X9为Sobel算子模板中的系数。

3 实验结果与分析

本系统在友晶公司DE2-70的实验平台实现,图4a~图4d为实验结果图。图4a为实时彩色图像,图4b为实时灰度图像;图4c为传统Sobel算法的实时边缘图像;图4d为本文采用对比度增强改进的实时Sobel算法边缘。通过对于实验结果对比分析可以看出,与传统Sobel实时边缘检测算法相比,采用对比度增强改进的实时Sobel算法检测出的实时图像边缘更加精细,同时能更好地抑制背景噪声。

4 结束语

本文将实时灰度图像先进行中值滤波,再将滤波后的灰度图像进行灰度值增强进行Sobel实时图像的边缘检测,并在DE2-70的FPGA平台上实现了改进算法的系统。通过对实验结果分析可以得出,与经典的Sobel边缘算法检测得出的实时边缘相比,该系统检测出的边缘检测更加精细,对抑制噪声的能力显著增强。

:

[1]祁佳,刘紫燕.实时图像双边缘检测算法及FPGA实现[J].电视技术,2014,38(3):64-65.

[2]赵怀勋,郑敏,李志强.一种针对含噪低对比度图像的边缘检测方法[J].微计算机应用,2007,28(4):399-402.

[3]徐东燕,付忠良,阮波.一种基于多元结构的弱对比度图像边缘检测方法[J].计算机应用,2004,24(6):108-110.

[4]计忠平,方美娥,王毅刚,等.保持边缘特征和增强对比度的图像缩放算法[J].中国图象图形学报,2012,17(2):178-182.

[5]薛丽霞,李涛,王佐成.一种自适应的Canny边缘检测算法[J].计算机应用研究,2010,27(9):3588-3590.

[6]李杰,彭月英,元昌安,等.基于数学形态学细化算法的图像边缘细化[J].计算机应用,2012,32(2):514-516.

[7]陈伦海,黄君凯,杨帆,等.基于FPGA的实时边缘检测系统[J].液晶与显示,2011,26(2):200-204.

[8]刘紫燕.实时图像边缘检测的设计及FPGA实现[J].电子科技,2011,24(12):1-3.

猜你喜欢
像素点平均值算子
平均值的一组新不等式
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
应用数学(2020年2期)2020-06-24 06:02:44
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
Roper-Suffridge延拓算子与Loewner链
基于Node-Cell结构的HEVC帧内编码
电视技术(2014年11期)2014-12-02 02:43:28
平面图形中构造调和平均值几例
基于电流平均值的改进无功检测法
电测与仪表(2014年6期)2014-04-04 11:59:46