我有一个正弦模式的2D数组,我想绘制该函数的x和y渐变。
从以前的一些函数我有一个名为' image_data'的2D数组,例如:
def get_image(params):
# do some maths on params
return(image)
params = (a, b, c)
image_data = get_image(params)
然后我在图像上使用numpy.gradient
来获得渐变:
gradients = numpy.gradient(image_data)
x_grad = gradients[0]
y_grad = gradients[1]
绘制所有三个看起来像:
但我不确定它是否正确。因为这种模式不是45度,所以我希望x和y渐变不同。
在我看来,x_gradient[i][j]
应该是image_data[i][j]
相对于索引两侧的渐变,而y_gradient[i][j]
应该是相对于上下索引的渐变。 / p>
由于图案略微倾斜,您可以在image_data
中看到函数的渐变以不同的速率变化。
我是否误解了我的数据或没有理解numpy.gradient输出?
谢谢!