Canny

-
高斯滤波器
这一步需要我们手动完成 -
梯度与方向

-
非极大值抑制 比较当前点和相邻两个点的梯度大小,只有比相邻两点都大才能保留
只有 c点的值大于dTmp1和dTmp2才能保留
简化方法:
距离哪个方向近就取哪个方向
- 双阈值检测

代码:
img = cv2.imread("lena.jpg", cv2.IMREAD_GRAYSCALE)
v1 = cv2.Canny(img, 80, 150) # min-value, max-value
v2 = cv2.Canny(img, 50, 100)Min-value 设置小的时候,条件放松,希望检测出更多边界,即使没有那么地边界;若设置大,那么条件更严,只有极有可能是边界的时候才会被认定。
Max-value 同理。
左 v1 ,右 v2
阈值低的话,边界更多更细,但是可能考虑进去一些噪音点、非边缘点
左大右小