目录

方法对比

公式对比

优点对比

缺点对比

常用场景对比

边缘检测结果对比


方法对比

  • Roberts 算子:基于一阶导数的方法
  • Prewitt 算子:基于一阶导数的方法
  • Sobel 算子:基于一阶导数的方法
  • Laplacian 算子:基于二阶导数的方法
  • Canny 算子:非微分边缘检测算子

公式对比

  • Roberts 算子:d_{x}=\begin{bmatrix} -1 & 0\\ 0 & 1 \end{bmatrix}d_{y}=\begin{bmatrix} 0 & -1\\ 1 & 0 \end{bmatrix}
  • Prewitt 算子:G_{x}=\begin{bmatrix} -1 & 0 & 1\\ -1 & 0 & 1\\ -1 & 0 & 1 \end{bmatrix}G_{y}=\begin{bmatrix} 1 & 1 & 1\\ 0 & 0 & 0\\ -1 & -1 & -1 \end{bmatrix}
  • Sobel 算子:G_{x}=\begin{bmatrix} -1 & 0 & +1\\ -2 & 0 & +2\\ -1 & 0 & +1 \end{bmatrix}G_{x}=\begin{bmatrix} -1 & -2 & -1\\ 0 & 0 & 0\\ +1 & +2 & +1 \end{bmatrix}
  • Laplacian 算子:4 领域:\begin{bmatrix} 0 & 1 & 0\\ 1 & -4 & 1\\ 0& 1 & 0 \end{bmatrix}8 邻域:\begin{bmatrix} 1 & 1 & 1\\ 1 & -8 & 1\\ 1 & 1 & 1 \end{bmatrix}
  • Canny 算子:实现步骤:1. 用高斯滤波器平滑图像
                                               2. 计算图像中每个像素点的梯度强度和方向
                                               3. 对梯度幅值进行非极大值抑制
                                               4. 用双阈值算法检测来确定真实和潜在的边缘

优点对比

  • Roberts 算子:对垂直边缘的检测效果好于斜向边缘
                              对具有陡峭的低噪声的图像效果最好
                              定位精度高
  • Prewitt 算子:边缘检测结果在水平方向和垂直方向均比 Robert 算子明显
                               适合用来识别噪声较多,灰度渐变的图像
                               对噪声有抑制作用,抑制噪声的原理是通过像素平均
  • Sobel 算子:Sobel 算子要比 Prewitt 算子更能准确检测图像边缘
                          边缘定位较准确,常用于噪声较多,灰度渐变的图像
                          对像素位置的影响做了加权,相比之下比 Prewitt 算子、Roberts 算子效果更好
                          以滤波算子的形式来提取边缘,X,Y 方向各用一个模板,两个模板组合起来构成一个梯度算子。X 方向模板对垂直边缘影响最大,Y 方向模板对水平边缘影响最大。
  • Laplacian 算子:对图像中的阶跃性边缘点定位准确
  • Canny 算子:对噪声不敏感,不容易受到噪声干扰
                             能够检测到真正的弱边缘
                             使用两种不同的阈值分别检测强边缘和弱边缘
                             仅当强边缘与弱边缘相连时才将弱边缘包含在输出图像中

缺点对比

  • Roberts 算子:对噪声敏感,无法抑制噪声的影响
                              提取边缘的结果是边缘比较粗
                              边缘定位不是很准确
  • Prewitt 算子:像素平均相当于对图像的低通滤波,所以 Prewitt 算子对边缘的定位不如 Roberts 算子
  • Sobel 算子:由于边缘是位置的标志,对灰度的变化不敏感
  • Laplacian 算子:对噪声比较敏感,只适用于无噪声图像
                                  容易丢失边缘方向信息,造成一些不连续的检测边缘
  • Canny 算子:易使高频边缘被平滑掉,从而造成边缘丢失

常用场景对比

  •  Roberts 算子:常用于垂直边缘明显或具有陡峭的低噪声的图像的边缘检测任务
  • Prewitt 算子:常用于噪声较多、灰度渐变的图像的边缘检测任务
  • Sobel 算子:常用于噪声较多,灰度渐变的图像的边缘检测任务
  • Laplacian 算子:常用于归一化检测结果,进行方差计算,可以用在模糊检测任务上
  • Canny 算子:被用于诸如“车道线检测”等实际项目中,是最有效的边缘检测方法

边缘检测结果对比


END 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐