学习笔记(32):Python+OpenCV计算机视觉-canny边缘检测

这篇学习笔记主要介绍了Python结合OpenCV实现Canny边缘检测的步骤:首先通过高斯滤波器进行去噪,然后计算图像的梯度大小和方向,接着进行非极大值抑制来消除非边缘像素,最后应用滞后阈值确定最终边缘。详细讲解了Canny算法在计算机视觉中的应用。
摘要由CSDN通过智能技术生成

立即学习:https://edu.csdn.net/course/play/10552/234947?utm_source=blogtoedu

canny边缘检测的一般步骤

① 去噪

边缘检测容易受到噪声的影响。因此,在进行边缘检测前,通常需要进行去噪。

通常采用高斯滤波器。

② 梯度

对平滑后的图像计算梯度的大小和方向

梯度的方向一般总是与边界垂直

梯队方向背归为四类:垂直,水平,两个对角线方向。

③非极大值抑制

在获得了梯度和方向后,遍历图像,去除所有不是边界的点(判断当前像素点是否是周围像素点中具有相同方向梯度的最大值)

④滞后阈值

edges = cv2.Canny(src,threshold1,threshold2)

threshold 1 边界1  minVal

threshold 2 边界2  maxVal

值越大,边缘越少    值越小 ,边缘越细腻

import cv2
img = cv2.imread('111.jpg', cv2.IMREAD_UNCHANGED)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50 , 150)
cv2.namedWindow('edges',cv2.WINDOW_AUTOSIZE)
cv2.imshow('edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值