【问题标题】:possible NaN gradient direction on canny edge detector - image processing on matlabCanny边缘检测器上可能的NaN梯度方向 - matlab上的图像处理
【发布时间】:2012-12-04 16:22:40
【问题描述】:

我正在编写我自己的Canny's edge detection algorithm 版本。我的问题是,如何计算梯度的方向?我已经知道了:

但是当Gy = Gx = 0时我该怎么办呢?

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    我认为实际上你赋予 theta 什么值并不重要,因为 Gx 和 Gy 等于 0 意味着没有梯度,这意味着没有边缘。该像素没有边缘,因此它也没有边缘方向的角度。检测 Gy=gx=0 的时间并在 theta 中写入您想要的任何内容。

    哦!但不要忘记 arctan(Inf)=pi/2!如果只有 Gx 的值为零,请记住您有结果!

    编辑:图像中所有黑色区域都没有渐变,因此没有角度。

    【讨论】:

    • 您的意思是 arctan(Inf) = pi/2 还是 arctan(Inf) = pi / factorial(2)?
    • 哈哈 pi/2。 “阶乘”是一个简单的解释,抱歉。还是 2!=2。也以防万一还记得 arctan(-Inf)=pi*3/2=-pi/2
    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 2017-04-22
    • 2014-03-30
    相关资源
    最近更新 更多