我想绘制一个简单的图像,并想获得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()
因此,我可以在每个点上导航鼠标,用鼠标单击并在最后获得具有4 x,y值的列表。有任何想法吗?谢谢!
[首先,要单击图像,'png'通常比'jpg'更合适。用于'jpg'颜色的压缩会抹去颜色。
mplcursors
是一个小程序包,支持单击(或悬停)图解。标准显示带有坐标的注释工具提示。在您的应用程序中显示注释工具提示似乎很有用。如果没有,您可以使用mplcursors
抑制该行为,并仍然使用坐标接收事件。
坐标有两种形式:x和y使用轴的坐标系。使用sel.annotation.set_visible(False)
的imshow
参数,可以灵活设置所需的范围(默认的x和y从0到图像的宽度和高度)。
一些实验代码:
extent=