Canay边缘检测
1)使用高斯滤波器,以平滑图像,滤除噪声。
2)计算图像中每个像素点的梯度强度和方向。
3)应用非极大值抑制,以消除边缘检测带来的杂散响应。
4)应用双阈值检测来确定真实和潜在的边缘。
5)通过抑制孤立的弱边缘最终完成边缘检测。
1.高斯滤波器

2.梯度和方向

3.非极大值抑制
1)第一种方法

第二种方法:

4.双阈值检测

import cv2
import numpy as np
def cv_show(img,name):
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.imread('D:/opencv/tx/lena.jpg',0)
v1 = cv2.Canny(img,80,150)#80 为minVal 150 为maxVal
v2 = cv2.Canny(img,50,100)
res = np.hstack((v1,v2))
cv_show(res,'res')
minVal越小,检测到的边界越多

本文详细介绍了Canny边缘检测算法的五个主要步骤:高斯滤波器平滑图像以滤除噪声;计算每个像素点的梯度强度和方向;应用非极大值抑制消除杂散响应;双阈值检测确定真实和潜在边缘;最后抑制孤立弱边缘完成检测。通过实例展示了不同阈值设置对边界检测的影响。

6910

被折叠的 条评论
为什么被折叠?



