在图像上叠加matplotlib箭袋

时间:2017-03-14 02:04:47

标签: python numpy matplotlib gradient

我试图在图像上叠加箭头渐变箭头,但由于原点位置不同,它们看起来并不正确。我该如何解决这个问题?

这是一个例子。左边的图像是我期望的渐变,但是一旦我在图像上绘制它们,由于原点位置的变化,它们指向错误的方向。

test_array = np.array([[   0.,    0.,    0.,    0.,    0.],
                       [   0.,   64.,  128.,   64.,    0.],
                       [   0.,  127.,  255.,  127.,    0.],
                       [   0.,   64.,  127.,   64.,    0.],
                       [   0.,    0.,    0.,    0.,    0.]])

dy, dx = np.gradient(test_array)
plt.imshow(test_array)
plt.quiver(dx, dy)
plt.show()

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

如果您希望获得与仅绘制箭头相同的情节方向,则可以通过将ng-repeat="item in items track by $index" 添加到origin='lower'来调整origin of the image

imshow

如果您想将图像原点保留在左上角,则可以在拨打plt.imshow(test_array, origin='lower')时更改箭头的方向:

plt.quiver