Canny 算子通常基于 Sobel 算子,虽然也可使用其他的梯度算子。它的核心理念是用两个不同的阈值来判断哪个点属于轮廓,一个是低阈值,一个是高阈值。
选择低阈值时,要保证它能包含所有属于重要图像轮廓的边缘像素:
可以看到,道路的边缘非常清晰。但因为这里使用了一个宽松的阈值,所以很多并不需要的边缘也被检测出来了。而第二个阈值的作用就是界定重要轮廓的边缘,排除掉异常的边缘:
Canny 算子通常基于 Sobel 算子,虽然也可使用其他的梯度算子。它的核心理念是用两个不同的阈值来判断哪个点属于轮廓,一个是低阈值,一个是高阈值。
选择低阈值时,要保证它能包含所有属于重要图像轮廓的边缘像素:
可以看到,道路的边缘非常清晰。但因为这里使用了一个宽松的阈值,所以很多并不需要的边缘也被检测出来了。而第二个阈值的作用就是界定重要轮廓的边缘,排除掉异常的边缘: