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()

 

Canny边缘检测

 

上一篇:NN and the Optical Illusion-光学幻觉 CodeForce1100C 几何


下一篇:hdoj - 1016 Prime Ring Problem