Canny边缘检测

Canny边缘检测分为四步:

1、图像降噪:使用高斯滤波器,平滑图像,滤除噪声,噪声是灰度值变化较大的部分,容易被识别为噪声

2、计算图像梯度:图像的梯度即为图像的灰度值的变化最快的地方,梯度的模即为方向导数的最大值(将图像看作函数),边缘也是灰度值变化最快的地方

3、非极大值抑制:将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点。

4、应用双阈值来确定真实和潜在的边缘:通过非极大值抑制后,仍然有很多的可能边缘点,进一步的设置一个双阈值,即低阈值(low),高阈值(high)。灰度变化大于high的,设置为强边缘像素,低于low的,剔除。在low和high之间的,如果与边界相连则保留,否则丢弃。

图像梯度解释非常好的博客:https://blog.csdn.net/saltriver/article/details/78987096

img_l = cv2.Canny(img1, 50, 150)
img_r = cv2.Canny(img1, 200, 300)


img = np.hstack((img_l, img_r))
cv2.imshow('img', img)

cv2.waitKey(0)
cv2.destroyAllWindows()

自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
原文地址:https://www.cnblogs.com/WTSRUVF/p/15256613.html