当前位置:
文档之家› 图像处理中边缘检测算法的研究
图像处理中边缘检测算法的研究
分。边缘主要存在于目标与目标、目标与背景、区域与区域( 包括不同
色彩) 之间。边缘检测常用到的有属于简单空域微分算法的 Roberts 算
子 、Sobel 算 子 、Prewitt 算 子 , 拉 普 拉 斯 高 斯 ( LOG) 算 法 以 及 Canny 边
缘检测器等。
边缘检测算法的基本步骤:
1)滤 波 : 改 善 与 噪 声 有 关 的 边 缘 检 测 器 的 性 能 ; 一 般 滤 波 器 降 导
67
科技信息
○IT 技术论坛○
SCIENCE & TECHNOLOGY INFORMATION
2008 年 第 4 期
1.5 Canny 算子 Canny 算子是一阶算子。其方法的实质是用 1 个准高斯函数作平 滑运算
S[i,j]=G[i,j;σ]×I[i,j], 然 后 以 带 方 向 的 一 阶 微 分 算 子 定 位 导 数 最 大 值。平滑后的 S[i,j]的梯度可以使用 2×2 一阶有限差分近似式:
拉斯变换, 得: h(x,y)="2[g(x,y)*f(x,y)]
(5)
根据卷积求导法有 h(x,y)=["2[g(x,y)]*f(x,y)。即先对图像平滑, 后拉
氏变换求二阶微分, 等效于把拉氏变化作用于平滑函数, 得到 1 个兼
有平滑和二阶微分作用的模板, 再与原来的图像进行卷积。用 Marr-
!2 2
M= Sx +Sy
(2)
其中的偏导数用下式计算:
Sx=(a2+ca3+a4)- (a0+ca7+a6) Sy=(a0+ca1+a2)- (a6+ca5+a4)
(3)
Sobel 算子是 3×3 算子模板。图 2 为 它的模板表示。图像中的每个点都用这 两个模板做卷积。 一个模板对通常的 垂直边缘响应最大, 而另一个对水平边 缘响应最大。 两个卷积的最大值作为 该点的输出值。运算结果是 1 幅边缘幅度图像。此算子对灰度渐变噪 声较多的图像处理得较好。
的 中 心 点 所 以 很 难 使 用 。 用 卷 积 模 板 表 示 : G(i,j) = Gx + Gy , 图 1
为其模板表示。所示的 2 个卷积核形成了 Roberts 算子, 图像中的每一
个点都用这 2 个核做卷积。
图 1 Robe rts 算子
1.2 Sobel 算子 Sobel 算子是一种一阶微分算子, 它利用像素邻近区域的梯度值 来计算 1 个像素的梯度, 然后根据一定的阈值来取舍。它由下式给出:
P re witt 算子检测
Log 算法
Canny 方法
图 4 5 种方法的边缘检测效果
Roberts 算子定位比较精确, 但由于不包括平 滑 , 所 以 对 于 噪 声 比 较敏感。Prewitt 算子和 Sobel 算子都是一阶的微分算子, 而前者是平均 滤波, 后者是加权平均滤波且检测的图像边缘可能大于 2 个像素。这 两者对灰度渐变低噪声的图像有较好的检测效果, 但是对于混合多复 杂噪声的图像, 处理效果就不理想了。LOG 滤波器方法通过检测二阶 导数过零点来判断边缘点。LOG 滤波器 中 的 σ正 比 于 低 通 滤 波 器 的 宽 度 , σ越 大 , 平 滑 作 用 越 显 著 , 去 除 噪 声 越 好 , 但 图 像 的 细 节 也 损 失 越大, 边缘精度也就越低。所以在边缘定位精度和消除噪声级间存在 着矛盾, 应该根据具体问题对噪声水平和边缘点定位精度要求适当选 取 σ。而且 LOG 方法没有解决如何组 织 不 同 尺 度 滤 波 器 输 出 的 边 缘 图为单一的、正确的边缘图的具体方法。Canny 方 法 则 以 一 阶 导 数 为 基 础 来 判 断 边 缘 点 。它 是 一 阶 传 统 微 分 中 检 测 阶 跃 型 边 缘 效 果 最 好 的 算子之一。它比 Roberts 算子、Sobel 算子和 Prewitt 算子极小值算法的 去噪能力都要强, 但它也容易平滑掉一些边缘信息。
P[i,j]≈(S[i,j+1]- S[i,j]+S[i+1,j+1]- S[i+1,j])/2
Q[i,j]≈(S[i,j+1]- S[i+1,j]+S[i,j+1]- S[i+1,j+1])/2
(6)
在这个 2×2 正方形内求有限差分的均值, 便于在图像中的同一点 计算 x 和 y 的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐 标转化来计算:
Canny 边缘检测器的基本特征: 1)用 高 斯 滤 波 器 平 滑 图 像 。 2)用 一 阶 偏 导 数 有 限 差 分 计 算 梯 度 幅 值 和 方 向 。 3)对 梯 度 幅 值 应 用 非 极 大 值 抑 制 。 4)用 双 阀 值 算 法 检 测 和 连 接 边 缘 。 2.几种算子的比较 以下代码给出了针对同一幅图像( lena_256.TIF) 的五 种 边 缘 检 测 的不同效果。使用 MATLAB7.1 图像处理工具箱中的 edge 函数编程实 现。 I=imread('lena_256.TIF' ); a=edge(I,' roberts' ); b=edge(I,' sobel' ); c=edge(I,' prewitt' ); d=edge(I,' log' ); e=edge(I,' canny' ); imwrite(a,' roberts.tif' ); imwrite(b,'sobel.tif' ); imwrite(c,' prewitt.tif' )canny.tif' )
【关键词】数字图像处理; 边缘检测; 检测算法 Study on Edge Detection Algor ithm in Image Pr ocessing YIN J ian- yuan
( Depar tment of Electr onic Info and Contr ol Engineer ing,Guangxi Univer sity of Technology,Liuzhou 545006,China) 【Abstr act】Edge detection is a basic and important subject in digital image processing. The paper investigates five of the most common algorithms and implements these algorithms. A comparison among them is made. The analyses indicate that gradient operator is more simple and effective, the LOG algorithm and Canny detector yield thinner edges. In practice, choosing which algorithm largely depends on the nature of the investigation problem. 【key wor ds】digital image analysis; edge detection; detection algorithm
M[i,j]=
"P[i,j]2
2
+Q[i,j]
(7)
θ[i,j]=arctan(Q[i,j]/P[i,j])
M[ i, j] 反映了图像的边缘强度; θ( i, j) 反映了边缘的方向。使得 M [ i, j] 取得局部最大值的方向角 θ( i, j) , 就反映了边缘的方向。Canny 算 子也可用高斯函数的梯度来近似, 在理论上很接近 4 个指数函数的线 性 组 合 形 成 的 最 佳 边 缘 算 子 。在 实 际 工 作 应 用 中 编 程 较 为 复 杂 且 运 算 较慢。
图 2 Sobel 算子
1.3 Prewitt 算子 Prewitt 算子与 Sobel 算子的方程完全一样, 但 c=1, 该算子没有把 重点放在接近模板中心的像素点。图 3 所示的 2 个卷积核形成 Prewitt 算子。
图 3 P re witt 算子
1.4 LOG 算法
Marr 和 Hildreth 将高斯滤波和拉普拉斯边缘检测结合在一起, 形
Roberts 算子是一种利用局部差分算子寻找 边 缘 的 算 子 , 它 由 下
式给出:
G[i,j]= f[i,j]- f[i+1,j+1] + f[i+1,j]- f[i,j+1]
(1)
Roberts 算子是 2×2 算子模板, 对具有灰度变化陡 峭 的 低 噪 声 图
像响应最好, 并且 对 边 缘 的 定 位 准 确 , 但 由 于 2×2 大 小 模 板 没 有 清 楚
Hildreth 模板与图像进行卷积的优点在于模板可以预先算出, 实际计
算可以只进行卷积。
LOG 算法的基本特征:
1)平 滑 滤 波 器 是 高 斯 滤 波 器 。
2)增强步骤采用二阶导数( 二维拉普拉斯函数) 。
3) 边缘检测判据是二阶导数零交叉点并对应一 阶 导 数 的 较 大 峰
值。
4)使 用 线 性 内 插 方 法 在 子 像 素 分 辨 率 水 平 上 估 计 边 缘 的 位 置 。
成 LoG( Laplacian of Gaussian) 算法, , 也称之为拉普拉斯高斯算法。
"2g(x,y)=(
22
x +y -
4
2
2σ
-
)e
x2 +y2 2σ2
(4)
σ
式 中 : g( x, y) 是 对 图 像 进 行 处 理 时 选 用 的 平 滑 函 数 ( Gaussian 函
数) ; x, y 为整数坐标; σ为高斯分布的均方差。对平滑后的图像做拉普
Robins, Mar- Hildreth 边缘检测方法以及 Laplacian- Gaussian(LOG)算子