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

Isis ·
更新时间:2024-09-21
· 806 次阅读

立即学习: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()
作者:投篮不准的小宇哥



canny边缘检测 学习笔记 学习 opencv Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号