我有一个 2D 数组正弦模式,想要绘制该函数的 x 和 y 梯度。我有一个二维数组
image_data
:
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]
相对于上方和下方索引的梯度。由于图案稍微倾斜,因此在 image_data
中,梯度以不同的速率变化。
我是否误解了我的数据或不理解
numpy.gradient
输出?