目录
图像边缘两侧的像素点灰度值发生明显的变化。因此可以通过图像灰度值的一阶导数或二阶导数来进行图像边缘的检测。
Canny 算子
Canny 边缘检测算法被普遍认为是最优的边缘检测算法。其旨在满足下面三个评价标准:
低错误率:检测出尽可能多实际存在的边缘,且尽可能地减少噪声产生的误差。
高定位性:检测出的边缘与图像中实际存在的边缘尽可能接近。
最小响应:每条边缘只检测一次,且可能存在的噪声不应标示为边缘。
Canny 边缘检测算法步骤:
1. 消除噪声。使用高斯滤波来去除噪声。如下图所示:

2. 计算梯度幅值和方向。可以采用 Sobel 滤波器来进行。如下图所示:


3. 非极大值抑制。排除非边缘像素,仅保留一些细线条(候选边缘)。
4. 滞后阈值。包括高阈值和低阈值。
若某一像素位置的梯度幅值超过高阈值,该像素被保留为边缘像素。
若某一像素位置的梯度幅值小于低阈值,该像素被排除。
若某一像素位置的梯度幅值在两个阈值之间,该像素仅仅在连接到一个高于高阈值的像素时被保留。
通常高低阈值比在 2:1 到 3:1 之间。
Canny()

本文介绍了OpenCV中四种常用的边缘检测算法:Canny、Sobel、Laplacian和Scharr滤波器。Canny边缘检测算法因其低错误率、高定位性和最小响应而被广泛使用,包括高斯滤波、梯度计算、非极大值抑制和滞后阈值等步骤。Sobel算子用于近似图像梯度,Laplacian算子为二阶微分算子,Scharr滤波器则作为Sobel算子的一种增强。每个算法都提供了相应的函数原型和参数解释。
 图像的边缘检测&spm=1001.2101.3001.5002&articleId=82348685&d=1&t=3&u=20899dfd700b461aace0e32f0f3c0b09)
2342

被折叠的 条评论
为什么被折叠?



