1
目的は画像上でマウスを2回クリックして2つの座標を取得することです。そのためのコード:Matplotlibが間違ったマウス座標をキャプチャします
class ImageListener(object):
def __init__(self):
self.coordinates = []
def onclick(self, event):
print(event.x, event.y)
self.coordinates.extend([event.x, event.y])
def show_image(self, img, close=True):
fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(img)
cid = fig.canvas.mpl_connect('button_press_event', self.onclick)
while len(self.coordinates) < 3:
plt.waitforbuttonpress(0)
if close:
plt.close(fig)
fig.canvas.mpl_disconnect(cid)
ただし、取得される座標は間違っています。次の画像では、マウスをクリックすると(700,333)になります。 (スクリーンショット中にマウスが消えた)。代わりに、(514,154)が捕捉される。
私はここで何をしないのですか?