购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.8 基于Canny的边缘检测

OpenCV提供了一个很方便的名为Canny(以该算法的发明者John F.Canny的名字命名)的函数,它非常受欢迎,不仅因为它的有效性,还因为它在OpenCV程序中的实现很简单(只有一行代码):

Canny的实现结果如图3-4所示,边缘识别非常清晰。

图3-4 Canny算法的实现结果

Canny边缘检测算法比较复杂,但是也很有趣。这是一个5步过程:

(1)用高斯滤波器去除图像的噪声。

(2)计算梯度。

(3)在边缘上应用非极大值抑制(Non-Maximum Suppression,NMS)。这意味着算法从一组重叠边缘中选取最好的边缘,我们将在第7章详细讨论非极大值抑制的概念。

(4)将双阈值应用于所有检测到的边缘,淘汰所有的假正例结果。

(5)分析所有的边缘及其之间的连接,保留真正的边缘,并丢弃弱边缘。

在找到Canny边缘后,我们可以对边缘做进一步分析,以确定它们是否符合常见形状,如线或者圆。霍夫变换就是以这种方式使用Canny边缘的一种算法。我们将在3.10节对其进行实验。

现在,我们将基于寻找相似像素斑点的概念(而不是基于边缘检测)来研究分析形状的其他方法。 fCdn4ugj8wfoby4U1d685+t0D4P0hvExW6By9XdLNnnTu53x5q47NaWyOfJdXfWA

点击中间区域
呼出菜单
上一章
目录
下一章
×