目前,我有一些代码,可以从Sobel衍生物计算出幅度和方向。
mag, ang = cv2.cartToPolar(gx, gy, angleInDegrees=True)
ang = ang.clip(min=0, max=179.99999)
长话短说,如何在不修剪的情况下强迫角度无符号且介于[0,180]度之间,这似乎会破坏直方图分布。
是否有一个numpy函数的角度大于180,例如200,并拆分为160,或者我必须自己编写类似的代码。
是否有可能使numpy数组仅包含-180到180之间的值,然后我可以采用abs值。
答案 0 :(得分:1)
使用{p>代替ang = ang.clip(min=0, max=179.99999)
ang = ang % 180
%
是Python中的modulo operation。
例如,这会将-135转换为45,我怀疑这是您想要的。也就是说,这两个角度都对应于斜率为1的线。