OpenCV笔记17:Canny边缘检测

1、学习目标
在OpenCV中使用Canny边缘检测。
OpenCV为Canny边缘检测器提供了名为Canny的方法。
2、使用的函数方法
cv2.Canny()
3、程序
在这里插入图片描述
结果
在这里插入图片描述
与其他边缘检查比较结果
在这里插入图片描述
(1)

edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
image       :输入图像
threshold1  :minVal
threshold2  :maxVal
apertureSize: 为卷积核大小
L2gradient  : 参数设定求梯度大小的方程

边缘检测的原理:
(1)去除噪声
使用5x5d高斯滤波器去除图像中的噪声;
(2)计算图像梯度
对平滑后的图像使用sobel算子在水平与竖直方向上计算一阶导数,得到图像梯度(Gx和Gy)。根据梯度图找到边界梯度和方向,公式如下:
在这里插入图片描述
梯度方向一般与边界垂直,有四类:垂直、水平、两个对角线
(3)非最大抑制;
在每个像素处,检查像素是否是在其梯度方向上的领域中的局部最大值,以去除不可能构成边缘的像素
得到了二值图像的边界。
(5)滞后边缘跟踪;
两个阈值minVal,maxVal
梯度大于maxVal,保留
梯度小于minVal,舍弃
两者之间的值要判断是否与真正的边界相连,相连就保留,不相连舍弃。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值