2

我有一个脚本应该执行以下操作:
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])

但是,这似乎没有产生任何积分。有人对如何显示积分有任何建议吗?

编辑:如果有人有一个很好的、简单的解决方案来验证用户确实从每个子图中选择了一个点(而不是从其中一个中选择两个点),并且以正确的顺序(从右到左),我会非常对此也很感激:)

4

0 回答 0