Canny边缘检测介绍
Canny边缘检测算子是一种多级检测算法。1986年由John F. Canny提出,同时提出了边缘检测的三大准则:
低错误率的边缘检测:检测算法应该精确地找到图像中的尽可能多的边缘,尽可能的减少漏检和误检。
最优定位:检测的边缘点应该精确地定位于边缘的中心。
图像中的任意边缘应该只被标记一次,同时图像噪声不应产生伪边缘。
Canny算法出现以后一直是作为一种标准的边缘检测算法,此后也出现了各种基于Canny算法的改进算法。时至今日,Canny算法及其各种变种依旧是一种优秀的边缘检测算法。而且除非前提条件很适合,你很难找到一种边缘检测算子能显著地比Canny算子做的更好。
Canny边缘检测算法的处理流程
Canny边缘检测算法可以分为以下5个步骤:
1) 高斯模糊 - GaussianBlur
2) 灰度转换 - cvtColor
3) 计算梯度 - Sobel/Scharr
4) 非最大信号抑制
5) 高低阈值输出二值图像
先上干货
代码演示
新建一个项目opencv-0016,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法
我们在上面定义了一一个初始的阈值为40和最大阈值255,然后又增加了一个方法用于处理Canny的运算
然后下面写Canny的方法
其中我们的后面参数阈值就是第一个阈值*2即可。
然后在我们的循环里面增加方法处理,并且加上按u键增加阈值,按d键减少阈值
然后运行起来效果
-END-
长按下方二维码关注