我有一个应该执行以下操作的脚本:
1)允许用户选择两个点(每个子图中一个)
2)让用户决定点是否足够准确
为此,我想使用ginput。但是,有两个问题:
1)我无法使用ginput将图像缩放或移动,只需单击即可将其注册。我的代码是:
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax1.imshow(img[:,:,0])
ax2=fig.add_subplot(122)
ax2.imshow(img[:,:,1])
pts = plt.ginput(2, timeout=-1, mouse_add=3, mouse_stop=1, mouse_pop=2)
我想完全删除mouse_stop命令,即右键单击选择一个点,而中键单击则删除选定的点。我希望能够使用左键单击导航图。我试过了:
mouse_stop=None
mouse_stop=4
在这两种情况下,左键单击只是执行与右键单击相同的操作(即选择一个点)。关于如何不对左键分配任何动作的任何建议?
2)一旦选中,这些点就会消失。我希望能够绘制这些点,以便用户可以决定它们是否足够好(这是为了图像对齐目的,因此需要高精度)。我试过了:
ax1.plot(pts[0][0], pts[0][1])
ax2.plot(pts[1][0], pts[1][1])
但是,这似乎没有产生任何意义。有没有人对如何显示积分有任何建议?
编辑:如果有人有一个很好的,简单的解决方案,用于验证用户确实从每个子图中选择了一个点(而不是从其中一个中选择了两个),并且按照正确的顺序(从右到左),我我也非常感激:)