通过鼠标单击返回二维图的x,y值

问题描述 投票:0回答:1

我想绘制一个简单的图像,并想获得x,y值,在这里我用鼠标单击。

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

image = Image.open('points.jpg')

data = np.array(image)

plt.imshow(data)
plt.show()

Image with 4 points

因此,我可以在每个点上导航鼠标,用鼠标单击并在最后获得具有4 x,y值的列表。有任何想法吗?谢谢!

python arrays click 2d mouse
1个回答
0
投票

[首先,要单击图像,'png'通常比'jpg'更合适。用于'jpg'颜色的压缩会抹去颜色。

mplcursors是一个小程序包,支持单击(或悬停)图解。标准显示带有坐标的注释工具提示。在您的应用程序中显示注释工具提示似乎很有用。如果没有,您可以使用mplcursors抑制该行为,并仍然使用坐标接收事件。

坐标有两种形式:x和y使用轴的坐标系。使用sel.annotation.set_visible(False)imshow参数,可以灵活设置所需的范围(默认的x和y从0到图像的宽度和高度)。

一些实验代码:

extent=
© www.soinside.com 2019 - 2024. All rights reserved.