Python中imgradient的matlab等价物

2024-04-24 11:34:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中搜索一个imgradientMATLAB等价物。我知道cv2.Sobel()和{},但它并不像{}在MATLAB中那样工作。如果我能得到imgradient.m函数的源代码,那也将是一个很大的帮助。在

另外,我知道cv2.Scharr()也可以使用,但是我不确定应该在参数中输入什么值来获得与MATLAB中的imgradient等价的结果?在


Tags: 函数参数源代码cv2等价matlabsobelscharr
1条回答
网友
1楼 · 发布于 2024-04-24 11:34:13

由于版权问题,我们不允许发布任何工具箱中的代码,而这些代码必须在MATLAB中获得许可证。相反,我能做的是提供执行等效操作的代码。imgradient只返回边缘贴图的大小和角度。您只需在x和{}方向分别应用cv2.Sobel,然后自己计算大小和角度。可以使用标准公式执行此操作:

magnitude = sqrt(Gx.^2 + Gy.^2);
angle = atan2(Gy, Gx);

GxGy分别是x和{}方向上的导数,或者是每个方向的{}的输出。请注意,atan2将以弧度表示角度。MATLAB以度为单位报告角度,因此您必须另外乘以180 / pi。在

假设您的图像存储在img。然后在这个映像上运行cv2.Sobel两次,确保每次调用都指定要查找的派生的方向。之后,你自己计算大小和角度。因此:

^{pr2}$

相关问题 更多 >