gpt4 book ai didi

python - cv2.phase 以弧度给出角度

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:08 26 4
gpt4 key购买 nike

我试图通过 opencv python 中的 Sobel 函数获取渐变的方向。问题是当我向相位函数提供 x 和 y 方向的梯度时,它总是给我相同的结果,无论相位度数是真还是假。这是示例代码:

img = cv2.imread('frameBB.jpg',0)
sobelx = cv2.Sobel(img,cv2.CV_32F,1,0,ksize=3)
sobely= cv2.Sobel(img,cv2.CV_32F,0,1,ksize=3)
phase=cv2.phase(sobelx,sobely,True)

然后我得到相位的直方图,最后得到相同的结果,因为相位函数的最后一个参数是 True 或 False。这两种情况的直方图看起来都是这样的。 enter image description here

这是原始图像及其渐变图像的样子:

enter image description here

我不确定我在这里做错了什么,以及为什么我在这两种情况下都得到弧度的渐变角。

最佳答案

从文档中可以看出here对于 cv2.phase:

cv2.phase(x, y[, angle[, angleInDegrees]])

第三个位置参数实际上不是用于指定度数/弧度,它用于输出数组。您尝试更改的参数是 angleInDegrees。您可以将其指定为第 4 个位置参数,或者更清楚地使用这样的关键字:

cv2.phase(sobelx,sobely,angleInDegrees=True)

关于python - cv2.phase 以弧度给出角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com