Numpy Arctan函数应用于数组的问题

时间:2018-10-25 09:57:49

标签: python

我刚刚启动了一个项目,该项目需要比较四个图像的相对亮度。我已经在MATLAB中运行了该程序,但是我希望该程序也可以在Python中使用。与MATLAB相比,数组dimQU似乎是正确的。

但是,取数组的arctan仅返回0。是否有适当的方法将arctan元素明智地应用于numpy数组?

感谢您的帮助!

import numpy as np
from skimage import io
im0 = io.imread("0_deg.bmp", as_grey=True)
im225 = io.imread("111.34_deg.bmp", as_grey=True)
im45 = io.imread("133.84_deg.bmp", as_grey=True)
im675 = io.imread("156.34_deg.bmp", as_grey=True)


dimQ = np.subtract(im0, im45)
dimU = np.subtract(im225, im675)
dimQU = np.divide(dimQ,dimU)

dimP = 1/2*np.arctan2(dimQ,dimU)
dimP2 = 1/2*np.arctan(dimQU)

1 个答案:

答案 0 :(得分:0)

矩阵的类型是整数,因此您没有正确创建dimQU

imread之后,使用np.asarray(xx, dtype=np.float)获取所需的浮点数和反正切。

1/2相同,请直接使用.5