Canny源码理解

Canny奇缘一       

       对于这篇技术博客,准确的讲是为了记住算法水平提高过程的艰辛。Canny算子在图像处理中应用比较多,但是对其内部运作过程并不十分理解,特立此贴,记录逐步理解的过程。特别是Canny算法的双阈值的设定就更是奇异难定。

       为了能够更好理解Canny算法的源码,需要先概览其运作过程。参考刚萨雷斯的《数字图像处理》第3版本P463-466,可以轻松获取如下操作步骤:
       (1) 高斯滤波器平滑输入图像; //在看opencv2.4.9版本的canny.cpp源码并没有看到高斯滤波的踪影;
       (2) 计算梯度幅值图像和角度图像;
       (3) 角度图像指导梯度幅值图像进行非最大值抑制;
       (4) 用双阈值检测强弱边缘。  //对于这一点展开来说就是:高阈值Th和低阈值Tl对梯度幅值图像作阈值处理,符合如下原则:

                                                      // 梯度值大于Th的点作为边缘保留,小于Tl的点删除,介于两者之间且与边缘点邻接的点作为边缘保留。

        基本原理说起来简单,但用代码实现还是需要火候,后续博客会继续分析Canny源码,看看其他算法大神是怎么构思实现过程的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值