OpenCV 边缘检测--Canny算子

原理

Canny边缘检测也称为“最优检测”(optimal detector),它的开发主要有以下3个目标:

  • 低错误率:只检测真实存在的边缘
  • 良好的定位:检测出来的边缘与真实的边缘之间的距离要达到最小
  • 最小的反馈:每个边缘只有一个检测结果

步骤

Canny边缘检测算子主要包括以下4个步骤:

  1. 过滤噪音:使用滤波对噪音进行过滤,可以使用归一化滤波、高斯滤波、中值滤波等;
  2. 使用类似于Sobel的一阶求导的方法,计算图片中颜色值的斜率及方向;
  3. 对计算出的颜色值的斜率进行非最大值抑制处理;
  4. 迟滞(hysteresis):用双阈值算法检测和连接图像的边缘。

下面一一介绍:

高斯平滑滤波

高斯平滑函数如下:
H ( x , y ) = e − a 2 + b 2 2 σ 2 G ( x , y ) = f ( x , y ) ⋅ H ( x , y ) H(x,y)=e^{-\frac{a^2+b^2}{2\sigma ^2}} \\ G(x,y)=f(x,y) \cdot H(x,y) H(x,y)=e2σ2a2+b2G(x,y)=f(x,y)H(x,y)
通过上面的计算可以得到一个 k × k k \times k k×k的高斯核,比如当 f ( x , y ) = 1 2 π σ 2 , σ 2 = 1 f(x,y)=\frac{1}{2 \pi \sigma^2}, \sigma^2=1 f(x,y)=2πσ21,σ2=1时,高斯核如下:
H = [ 1 2 π e − 1 1 2 π e − 0.5 1 2 π e − 1 1 2 π e − 0.5 1 2 π 1 2 π e − 0.5 1 2 π e − 1 1 2 π e − 0.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值