Canny 边缘检测器 thresh2 > thresh1

Canny Edge Detector thresh2 > thresh1

我目前正在 python 使用 cv2 及其函数 canny() 编写程序。为了找到两个好的阈值,我正在使用此代码

http://mathalope.co.uk/2015/06/03/canny-edge-detection-app-with-opencv-python/

我的问题是:如果下阈值大于上阈值,程序究竟如何"decide"哪个像素是边缘像素?我知道upper>lower是怎么工作的,但是反过来就没法把握了。

谢谢!

如果低阈值较高,则交换两个阈值。

OpenCV是开源的,大家可以看看source code:

if (low_thresh > high_thresh)
    std::swap(low_thresh, high_thresh);