我已经将
为了绘制图表,我正在使用
在上述代码中,我正在读取一个图像文件并将其显示在图形上。这样做使得我的最终图形不够美观,因为图像向上移动,而线图仍然停留在较低部分,而我希望线图位于图像上方。我参考了这个问题,这就是我想要实现的,但在我提到的问题中,解决方案是解释如何在图像上绘制一条直线。在我的情况下,我必须绘制一个具有多个坐标的图形。
我尝试了所提到问题中解释的解决方案,并在
tensorflow
目标检测API与OpenCv
集成,以便在帧内跟踪一个人,这样Python脚本就可以绘制一个图表,显示人进入和离开帧的位置以及其在帧内移动的位置。为了绘制图表,我正在使用
matplotlib
。我有x
和y
坐标,并且图表显示得非常好。现在我需要在该图表的背景中放置一张图片。为此,我已经完成以下操作:image = mpimg.imread(file)
plt.imshow(image)
plt.plot(x, y)
plt.plot(x[0], y[0], 'og')
plt.plot(x[-1], y[-1], 'ob')
plt.show()
在上述代码中,我正在读取一个图像文件并将其显示在图形上。这样做使得我的最终图形不够美观,因为图像向上移动,而线图仍然停留在较低部分,而我希望线图位于图像上方。我参考了这个问题,这就是我想要实现的,但在我提到的问题中,解决方案是解释如何在图像上绘制一条直线。在我的情况下,我必须绘制一个具有多个坐标的图形。
我尝试了所提到问题中解释的解决方案,并在
matplotlib中显示图像时使用了extent
,如下:
image = mpimg.imread(file)
plt.imshow(image, extent=[x[0], x[-1], y[0], y[-1]])
plt.plot(x, y)
plt.plot(x[0], y[0], 'og')
plt.plot(x[-1], y[-1], 'ob')
plt.show()
在上述代码中,我使用了extent=[x[0], x[-1], y[0], y[-1]]
,其中x[0]、x[-1]、y[0]、y[-1]
表示x
和y
坐标的第一个和最后一个点,以便将图像正确适配到图表上。这样做,我得到了以下结果:
你可以看到图像已经正确地适应于图表中,但是一旦我绘制我的x
和y
坐标,它看起来像下面这样:
这不如线条应该在图像上好看。 我在这里感到困惑,不知道哪里做错了。 我尝试遵循相同的答案并使用了extent
,但在绘制图像时,它稍微向前移动了一些。 以下是我的坐标:
x = [612, 590, 646, 712, 466, 475]
y = [623, 562, 557, 567, 530, 536]
绿点代表起点,蓝点代表终点。下面是图形的图像,如果我不使用背景图像。需要注意的一点是,x,y
坐标不与上面的图像匹配,只与下面的图形匹配(没有背景图像):
请问有人可以告诉我在这里做错了什么。请帮忙,谢谢。