如何让matplotlib的stream / quiver绘制成图像坐标

时间:2017-03-22 13:28:29

标签: image matplotlib

有没有办法让matplotlib的quiverstreamplot函数使用图像坐标约定(原点在左上角,+ y点向下),而不是标准坐标约定(左下角的原点,+ y点向上)?

上下文:

我同时使用quiverstreamplot来显示两个图像之间的光流场。你可以在下面看到一个例子。

Optical flow visualization using streamplot

不幸的是,quiverstreamplot都期望在传统坐标中定义流场,而我的流场在图像坐标中定义。

在上图中,我将流程手动转换为常规坐标,然后将其传递给streamplot。流线正确显示,但轴标签仍处于传统坐标中。请注意他们如何不同意前两个图像的轴标签。

我也可以手动转换轴标签,但有一些更简单的方法让我只需要streamplotquiver来理解流场是在图像坐标约定中定义的,并且应该如此显示(原点在左上角,+ y点下来)?

1 个答案:

答案 0 :(得分:1)

如果您想要完全模仿图像轴的显示(包括0.5偏移和y轴的反转),那么您可以检索前两个中的一个的x和y限制{ {1}}然后将它们应用到axes

streamplot