基于图像处理的多种边缘检测算法研究综述
A Review of Various Edge Detection Algorithms Based on Image Processing
摘要: 边缘检测作为图像处理与计算机视觉中的基础问题,在医学影像、自动驾驶和安防监控等领域发挥着重要作用。本文对多种经典边缘检测算法进行了系统性综述,并结合实验对其在噪声环境下的性能进行了对比分析。结果表明,Canny算子凭借多阶段处理机制在抗噪性和定位精度方面表现最佳,LoG算子在抑噪上具有一定优势,而Roberts、Sobel、Prewitt、Laplacian等传统算子则在噪声条件下易产生断裂与伪边。综述进一步指出,各类方法虽在实现复杂度与实时性上各具特点,但普遍存在对弱边响应不足、噪声下误检率高的共性缺陷。最后,本文总结了未来可能的发展方向,包括多尺度特征融合、边缘保持滤波与轻量化学习机制,以期为后续研究提供参考。
Abstract: Edge detection, as a fundamental problem in image processing and computer vision, plays a crucial role in various fields such as medical imaging, autonomous driving, and security monitoring. This paper presents a systematic review of several classical edge detection algorithms and conducts comparative experiments on their performance under noisy environments. The results demonstrate that the Canny operator, owing to its multi-stage processing mechanism, achieves superior noise robustness and edge localization accuracy. The LoG operator shows certain advantages in noise suppression, while traditional operators such as Roberts, Sobel, Prewitt, and Laplacian tend to produce fragmented and spurious edges under noisy conditions. The review further highlights that although these methods differ in terms of implementation complexity and real-time performance, they commonly suffer from weak edge insensitivity and high false detection rates in noisy environments. Finally, this paper summarizes possible future development directions, including multi-scale feature fusion, edge-keeping filtering and lightweight learning mechanisms, in order to provide reference for subsequent research.
文章引用:盛弘历. 基于图像处理的多种边缘检测算法研究综述[J]. 计算机科学与应用, 2025, 15(9): 217-229. https://doi.org/10.12677/csa.2025.159239

1. 引言

近年来,随着图像处理与计算机视觉技术的发展,边缘检测作为基本任务之一,持续受到学界关注。该技术通过识别图像中局部灰度或亮度变化最剧烈的区域,提取物体轮廓、表面纹理转折点及结构分界线等关键信息,其核心价值在于为后续图像理解与高层分析提供结构化数据支撑[1] [2]

在实际应用中,边缘检测在多个领域展现出重要价值。医学影像领域通过边缘信息实现器官边界定位与病灶区域分割;自动驾驶系统依赖边缘特征识别道路轮廓及障碍物;安防监控则利用边缘信息提升目标检测精度。然而,噪声干扰、光照不均等问题仍制约着检测结果的稳定性与准确性。本文将系统梳理主流边缘检测算法,结合实验对比典型方法的性能差异,并探讨未来技术演进方向。

在边缘检测研究领域,国外学者较早开展了系统性探索。Canny算子被广泛认为是经典方法的代表,其鲁棒性和精度优于Roberts、Sobel、Prewitt早期一阶算子[3]。近年来,随着人工智能的发展,研究者尝试将传统边缘检测与深度学习相结合,如Li和Sun (2023)将Canny与深度学习用于目标识别,显著提升了边缘特征在高层视觉任务中的表达力[4]。国内研究则更注重算法改进与工程应用。早期工作主要集中在Canny阈值自适应优化[5]和Gabor滤波等频域方法[6]。近年研究趋势包括:(1) 针对复杂噪声环境提出改进Canny算法以提升鲁棒性[7] [8];(2) 将边缘检测与深度卷积特征结合,应用于机器人抓取等智能制造场景[9];(3) 在特定工业任务中,传统算子仍被广泛采用,如光存储图像检测中的Sobel算子[10];(4) 针对实时性要求较高的场景,学者们尝试基于FPGA等硬件实现边缘检测算法,加快处理速度[11]。总体来看,国外研究在理论模型和智能方法结合方面发展迅速,国内研究在传统算法改进与工程化落地方面成果丰富。然而,无论国内外,现有方法仍存在对弱边响应不足、噪声下误检率高等共性问题。未来研究趋势集中在多尺度特征融合、边缘保持滤波及轻量化学习机制,以在保持实时性的同时进一步提升检测的准确性与鲁棒性。

2. 常用的边缘检测算法分类

2.1. 基于梯度的方法

2.1.1. Roberts算子

Roberts算子是一种基于一阶微分运算的边缘检测算法,其核心思想是通过计算图像局部区域的像素差异来捕捉边缘信息。Robert算子采用对角线方向的差分运算,通过计算对角方向的梯度来检测边缘,直接反映了图像中相邻像素灰度值的变化率,从而实现对边缘的快速定位。

Roberts边缘检测算子如下式所示:

x f( x,y )=f( x,y )f( x+1,y+1 )

y f( x,y )=f( x,y+1 )f( x+1,y )

则总梯度 R( x,y )= x 2 f( x,y )+ y 2 f( x,y )

简化为 R( x,y )| x f( x,y ) |+| y f( x,y ) |

它们水平方向和垂直方向的卷积核分别为:

x f=| 1 0 0 1 | y f=| 0 1 1 0 |

2.1.2. Sobel算子

(1) Sobel算子本质是基于图像空间域卷积,用于计算图像的梯度以识别图像中的边缘和结构。它通过在空间域上进行卷积运算,有效提取出图像的边缘信息。Sobel算子利用方向差分运算结合局部加权平均算法,其核心思想是利用一阶导数捕捉灰度的突变。Sobel算子使用两个3 × 3的卷积核,分别检测水平和垂直方向的梯度变化,它的两个卷积核如下所示:

水平方向核(Gx):检测垂直边缘

[ 1 0 1 2 0 2 1 0 1 ]

作用:突出图像中左右方向的灰度差异(如垂直边缘)

垂直方向核(Gy):检测水平边缘

[ 1 2 1 0 0 0 1 2 1 ]

作用:突出图像中上下方向的灰度差异(如水平边缘)。

(2) 使用sobel算子计算边缘时,先将两个卷积核分别与图像每个像素的邻域相乘求和,得到水平梯度Gx和垂直梯度Gy,再计算梯度幅值和方向。梯度幅值和方向如下式给出:

幅值: G= G x 2 + G y 2 ,常简化为 G=| G x |+| G y |

幅值越大,说明该点越可能位于边缘。

2.1.3. Prewitt算子:类似于Sobel算子,但对噪声更敏感

Prewitt算子基于一阶导数,通过检测图像灰度的局部变化来提取边缘信息。它采用两个方向的3 × 3卷积核,分别用于提取水平与垂直方向的梯度,从而确定边缘的位置和方向。与Sobel算子类似,但Prewitt的核设计更简洁,计算效率更高,适用于对实时性要求较高的边缘检测任务。它的两个卷积核如下所示:

水平方向核(Gx):检测垂直边缘

[ 1 0 1 1 0 1 1 0 1 ]

作用:突出左右方向的灰度差异(如垂直边缘)

垂直方向核(Gy):检测水平边缘

[ 1 1 1 0 0 0 1 1 1 ]

作用:突出上下方向的灰度差异(如水平边缘)。

(3) 使用Prewitt算子计算边缘时,先将两个卷积核分别与图像每个像素的邻域相乘求和,得到水平梯度Gx和垂直梯度Gy,再计算梯度幅值和方向。梯度幅值和方向如下式给出:

梯度幅值: G= G x 2 + G y 2 ,常以 G=| G x |+| G y | 的形式表示。

2.2. 基于二阶导数的方法

基于二阶导数的方法通过计算图像的二阶导数来检测边缘。常用的方法包括:

2.2.1. Laplacian算子

Laplacian算子是一种典型的二阶导数边缘检测方法,主要通过计算图像灰度函数在空间中的二阶导数,来强化灰度急剧变化的区域,即可能的边缘位置。其核心机制是:图像边缘处往往是一阶导数的极大或极小点,而对应的二阶导数则在这些位置附近发生符号变化,即出现零交叉,据此可较为精确地定位边缘。Laplacian算子的数学表达为:

2 f= 2 f x 2 + 2 f y 2

离散差分形式可表示为:

2 f( x,y )=f( x+1,y )+f( x1,y )+f( x,y+1 )+f( x,y1 )4f( x,y )

此公式通过邻域像素的加权差分实现二阶导数计算

算子模板:

[ 0 1 0 1 4 1 0 1 0 ]

2.2.2. Laplacian of Gaussian (LoG)

由于Laplacian算子对噪声较为敏感,为提高其在实际场景中的稳定性,通常将其与高斯滤波结合,构建出LoG (Laplacian of Gaussian)算子。LoG方法的基本流程是:首先通过高斯函数对图像进行平滑处理,以降低噪声干扰,然后再应用Laplacian算子提取边缘特征。这种“先降噪、后检测”的策略,有助于提升边缘检测的鲁棒性与准确性。其数学表达为:

LoG( x,y )= 2 G( x,y,σ )=( x 2 + y 2 2 σ 2 σ 4 ) e x 2 + y 2 2 σ 2

2.2.3. 基于Canny边缘检测的方法

Canny算法是一种经典的多阶段边缘检测方法,其处理流程包括高斯滤波降噪、梯度计算、非极大值抑制以及双阈值判定。该方法的核心思想在于:通过梯度幅值确定边缘强度,再结合方向抑制精确定位边缘位置,最终利用双阈值策略连接边缘以保证连贯性与完整性。Canny不仅能够准确提取图像边缘信息,同时在抑制噪声干扰方面也表现出较强的鲁棒性。其数学表达与核心步骤为:

(1) 图像平滑

为抑制噪声,首先对图像进行高斯平滑处理。高斯核函数为:

G( x,y )= 1 2π σ 2 e x 2 + y 2 2 σ 2

其中σ控制平滑尺度,核尺寸通常为5 × 5或7 × 7。

(2) 梯度计算

使用Sobel算子计算每个像素的梯度幅值G (x, y):

G= G x 2 + G y 2

Sobel模板形式为:

G x :[ 1 0 1 2 0 2 1 0 1 ] G y :[ 1 2 1 0 0 0 1 2 1 ]

(3) 非极大值抑制(NMS)

细化边缘,保留梯度方向上的局部极大值。具体步骤包括:

将梯度方向量化为0˚、45˚、90˚、135˚四类;比较当前像素与梯度方向两侧邻域像素值,若非最大值则抑制。

(4) 双阈值处理与边缘连接

设定高低阈值Thigh和Tlow,梯度幅值高于Thigh的像素标记为强边缘,介于两者之间的标记为弱边缘;通过滞后阈值法连接弱边缘与强边缘,确保边缘连续。

3. 几种边缘检测算法的实验结果对比

3.1. 实验设计与噪声引入

3.1.1. 数据预处理

在直接采用原始边缘检测算法进行实验时发现,检测结果普遍存在边缘断裂、弱边丢失及噪声干扰等问题,如图1~8所示,整体表现并不理想。

Figure 1. Original grayscale image

1. 原灰度图像

Figure 2. Original image with Gaussian noise

2. 原图像添加高斯噪声处理

Figure 3. Roberts edge detection result

3. Robert边缘检测算法结果

Figure 4. Prewitt edge detection result

4. Prewitt边缘检测算法结果

Figure 5. Sobel edge detection result

5. Sobel边缘检测算法结果

Figure 6. Laplacian edge detection result

6. Laplacian边缘检测算法结果

Figure 7. LoG edge detection result

7. LoG边缘检测算法结果

Figure 8. Canny edge detection result

8. Canny边缘检测算法结果

为改善这一情况,本研究在原算法的基础上增加了数据预处理步骤,以期在保证公平对比的前提下获得更加清晰和稳定的实验结果。

具体而言,实验采用标准测试图像67079.jpg作为基准图像。在预处理阶段,依次实施以下操作:

(1) Gamma矫正:设定γ = 1.5,对原始灰度图像进行灰度变换,提升暗部细节对比度并增强整体层次感。

(2) Unsharp Masking锐化:在伽马矫正后的图像上应用非锐化掩膜方法,采用9 × 9高斯模糊(σ = 10),并设置加权系数1.5与–0.5,以增强整体边缘响应和轮廓清晰度;

高斯噪声叠加:在锐化图像上叠加均值为0、标准差为15的高斯噪声,模拟低照度条件下工业相机CMOS传感器的常见噪声干扰。

通过上述预处理,实验构建了同时包含光照变化、细节增强与随机噪声的复合场景,为不同算法的鲁棒性对比提供了更加贴近真实环境的测试条件。

3.1.2. 算法设置

实验选取Roberts、Sobel、Prewitt、Laplacian、LoG以及Canny六种典型边缘检测算子进行对比。为保证不同方法的可比性,统一设定参数:LoG算子采用5 × 5高斯核,标准差σ = 1.4;Canny算子采用基于中值的自适应阈值策略,低阈值设定为0.4倍中值,高阈值为1.2倍中值。该策略能够根据输入图像的整体灰度分布自动调整阈值,相比固定阈值方法在光照变化和噪声干扰下更为鲁棒。特别是,当图像存在亮度不均或噪声水平变化时,中值统计量能够提供稳定的尺度参考,从而避免过度依赖人工设定的单一阈值。

3.1.3. 评价体系

实验采用定量评估与定性分析相结合的方式,对各算法性能进行全面对比。

1) 定量评估指标

为衡量不同算法的检测精度与稳定性,选取以下四个指标:

(1) Precision (精确率):反映检测边缘中真正边缘的比例;

(2) Recall (召回率):反映真值边缘被检测出来的比例;

(3) F1 Score:综合衡量精确率与召回率的平衡性能;

(4) Hausdorff Distance:描述预测边缘与真值边缘之间的最大偏移量,用于衡量边缘定位的空间对齐误差。

其中,真值边缘(Ground Truth)的构建基于BSDS500公共数据集。选取与实验基准图像对应的多标注者边缘标注文件(.mat),合并所有标注者的结果后生成二值化真值边缘图,并通过双线性插值保证与实验图像分辨率一致。

2) 定性分析

除定量指标外,实验还通过可视化边缘检测结果进行人眼观察,以直观比较各算法在噪声干扰下的边缘连续性、完整性与抑噪效果。

3.2. 实验结果与算法表现分析

表1展示了在统一的预处理与噪声条件下,六种边缘检测算法的定量评估结果。结果显示,各算子的性能在抗噪性、边缘定位精度以及鲁棒性方面存在显著差异。

Table 1. Quantitative evaluation of edge detection methods

1. 各边缘检测算法定量评估结果

算法

Precision

Recall

F1 Score

Hausdorff (px)

Roberts

0.088

0.759

0.158

149.218

Sobel

0.086

1.000

0.159

148.718

Prewitt

0.082

0.716

0.148

147.492

Laplacian

0.086

0.995

0.159

149.218

LoG

0.090

0.966

0.165

149.218

Manual Canny

0.186

0.175

0.180

49.000

整体来看:

手动实现的Canny算子在所有指标中表现最为优异,F1分数最高(0.180),Hausdorff距离最低(49px),显示出极强的抗噪性和空间定位能力。该方法通过高斯平滑、Sobel梯度提取、非极大值抑制及双阈值滞后连接四个阶段,有效消除了孤立噪声点,同时保留了图像的主要结构边缘。

LoG算子(F1 = 0.165)表现次之,其“先平滑后求导”的特性在压制高频噪声方面具有一定优势,边缘图结果相对连续,结构保持良好。然而,其Hausdorff距离依然高达约149 px,说明对边缘的定位精度提升有限。

Sobel算子在召回率上达到1.0,表明其几乎提取了所有可能边缘,但精确率仅为0.086,误检率高,导致整体F1分数与其他一阶算子相当(0.159),暴露出在噪声环境中对弱边和伪边界难以区分的问题。

Roberts与Prewitt算子表现相对较差。Roberts算子因使用较小的2 × 2模板,对图像中高频噪声尤为敏感,生成了大量断裂或虚假的边缘;而Prewitt算子则因无加权平滑处理,使得其在高斯噪声条件下的召回率(0.716)显著下降,边缘丢失严重。

Laplacian算子作为典型的二阶微分方法,在定位强边缘方面具备一定能力,但对噪声极度敏感。实验中其F1分数与Sobel类似(0.159),但Hausdorff距离达到149.2 px,空间偏移严重,且边缘图中存在明显的双边效应和振铃伪影。

图9~图18分别展示了原始图像、预处理图像、噪声图像及经预处理后六种算子的边缘检测输出,不同的边缘检测算法的可视化结果进一步佐证了上述结论。Canny和LoG算子在复杂背景下表现出更好的边缘连续性与结构完整性,而传统算子在噪声区域产生大量离散边缘点,尤其Laplacian算子在细节区域中呈现出不稳定边界。

Figure 9. Original grayscale image

9. 原灰度图像

Figure 10. Gamma-corrected image

10. 经过Gamma矫正处理后的图像

Figure 11. Images after Unsharp Masking sharpening

11. 经过Unsharp Masking 锐化处理后的图像

Figure 12. Images after Gaussian noise was added to the preprocessed images

12. 经预处理图像添加高斯噪声处理后的图像

Figure 13. Robert edge detection (preprocessed image)

13. 经预处理图像Robert边缘检测算法结果

Figure 14. Prewitt edge detection (preprocessed image)

14. 经预处理图像Prewitt边缘检测算法结果

Figure 15. Sobel edge detection (preprocessed image)

15. 经预处理图像Soebl边缘检测算法结果

Figure 16. Laplacian edge detection (preprocessed image)

16. 经预处理图像Laplacian边缘检测算法结果

Figure 17. LoG edge detection (preprocessed image)

17. 经预处理图像LoG边缘检测算法结果

Figure 18. Canny edge detection (preprocessed image)

18. 经预处理图像Canny边缘检测算法结果

综上所述,虽然经典一阶和二阶算子具有实现简单、运行快速的优点,但在噪声较强的实际场景中,其边缘定位和抗干扰能力显著不足。而多阶段处理的Canny算子则展示出明显的综合优势,在无需深度模型的前提下即可提供较强的边缘检测效果。

3.3. 算法特性讨论

3.3.1. Roberts算子

采用最小的2 × 2梯度模板,计算量低,适合实时性要求较高的应用。然而,由于其对高频噪声极为敏感,尤其在噪声较强的情况下,容易放大噪声干扰,导致边缘断裂和伪边产生。实验结果显示其F1分数较低,仅为0.158,Hausdorff距离为149 px,表明在噪声环境下,Roberts算子无法有效定位边缘,表现不佳。

3.3.2. Sobel与Prewitt算子

这两个算子都属于3 × 3的一阶梯度算子,具备一定的平滑能力,常用于实时处理场景,如嵌入式系统和工业检测。尽管它们在去噪方面有一定效果,实验结果显示其精确度(Precision)较低,误检较为频繁,尤其在高斯噪声环境下,Sobel和Prewitt的F1分数仅为0.159和0.148,分别无法很好地兼顾边缘的准确性与完整性。

3.3.3. Laplacian算子

通过作为二阶微分算子,Laplacian具有较强的边缘检测能力,特别是对细节的敏感性。然而,它也容易放大噪声,导致伪影和振铃效应的产生。实验中其F1分数为0.159,Hausdorff距离较大(约149 px),显示出其在噪声干扰下无法有效保持边缘的连贯性,定位精度较差。

3.3.4. LoG算子

LoG通过“先高斯平滑、后二阶微分”的策略,在抑制噪声和定位边缘方面取得了较为平衡的效果。尽管其边缘输出较为连续,F1分数为0.165,但Hausdorff距离依然较高(约149 px),说明其对最细微边缘的空间对齐精度仍有一定的局限,无法显著提高精细边缘的定位精度。

3.3.5. 手动实现的Canny算子

Canny算子结合了高斯滤波、基于Sobel的梯度计算、非极大值抑制及双阈值滞后连接等多阶段处理,在噪声环境下展现出了出色的鲁棒性。实验中,其F1分数为0.180,Hausdorff距离仅为49 px,显著优于其他算法,表明其能够有效去除噪声并精确定位边缘。

3.3.6. 共性缺陷

尽管各算法在实现复杂度和性能侧重点上有所不同,本实验揭示了它们在噪声环境下的三大共同短板:

(1) 弱边缘检测能力不足:平均召回率为0.769,低于理想值1.0约23%,说明在噪声干扰下,算法对弱边缘或低对比度结构的响应普遍减弱。

(2) 空间定位误差普遍较大:除了Canny算子,其他算子的Hausdorff距离普遍集中在147~149 px之间,表明大多数算法在边缘定位精度上存在较大误差。

(3) 伪边与振铃伪影频发:一阶梯度算子常保留过多噪声伪边,而二阶算子则容易产生振铃效应,误检和伪边问题在所有非Canny算子中普遍存在,增加了后续分析的难度。

4. 结论

本文对多种经典边缘检测算法在噪声环境下的性能进行了对比分析。实验结果表明,Canny算子在边缘精度和抗噪性方面综合表现最佳;LoG算子次之,具备良好的平滑能力;而Roberts、Sobel、Prewitt、Laplacian等传统算子在噪声干扰下容易产生误检,且精度较低。总体而言,经典的边缘检测方法在简洁性和易用性方面仍具优势,但在复杂噪声环境中普遍存在对弱边响应不足、误检率高等共性问题。

在实际应用中,各类算法的适用性存在明显差异。Roberts、Sobel和Prewitt算子计算复杂度低、速度快,适合嵌入式平台和实时性要求较高的任务,但在低照度或噪声环境下鲁棒性不足。Laplacian与LoG算子在图像质量较高的场景(如工业零件表面缺陷检测)能够捕捉较完整的边缘,但容易受到噪声干扰而产生双边效应。相比之下,Canny算子在光照不均与噪声干扰条件下仍能保持较高精度,尤其是本文采用的基于中值的自适应阈值策略,使其在低照度工业相机成像与医学影像边缘提取中具有较好的应用潜力。因此,本研究不仅验证了不同算子在噪声条件下的性能差异,也为具体应用场景中的算法选型提供了参考。

未来的研究可考虑引入多尺度特征融合、边缘保持滤波和轻量化学习机制,在不显著增加计算开销的前提下,进一步提升边缘检测的准确性与鲁棒性。

参考文献

[1] 冈萨雷斯, 沃兹尼亚克. 数字图像处理[M]. 阮秋琦, 阮宇智, 译. 北京: 电子工业出版社, 2020.
[2] 左飞. 数字图像技术: 原理与实践[M]. 北京: 电子工业出版社, 2014.
[3] Ramnarayan, R., Saklani, N. and Verma, V. (2019) A Review on Edge Detection Technique “Canny Edge Detection”. International Journal of Computer Applications, 178, 28-30. [Google Scholar] [CrossRef
[4] Li, P. and Sun, Z. (2023) Combination of Canny Edge Detection and Deep Learning for Object Recognition. Pattern Recognition Letters, 46, 101-108.
[5] 王植, 贺赛先. 一种基于Canny理论的自适应边缘检测方法[J]. 中国图象图形学报, 2004, 9(8): 957-962.
[6] 高晓兴, 曹丽, 常桂然. 基于Gabor滤波器的图像边缘检测算法的研究[J]. 计算机应用, 2008, 28(10): 2625-2627.
[7] 车欣桐, 王谦, 贾政峰, 钟情, 徐展. 基于改进Canny算法的图像边缘检测[J]. 传感器技术与应用, 2025, 13(3): 582-591.
[8] 朱晨宇, 吉彦锦. 基于Canny算子的图像边缘检测及优化[J]. 理论数学, 2024, 14(5): 130-139.
[9] 张晓寒, 张文彬, 赵景波. 基于边缘提取与空洞卷积的抓取目标检测算法[J]. 控制工程, 2024, 31(2): 359-365.
[10] 王梓权, 张博, 王卓, 等. 基于Sobel滤波的光存储图像检测算法[J]. 激光与光电子学进展, 2025, 62(8): 294-299.
[11] 王子硕, 单彦虎, 储成群, 等. 改进边缘检测算法及其FPGA实现[J]. 激光杂志, 2024, 45(3): 74-80.