我在远程服务器上使用Jupyter Notebook(使用ssh)。我正在使用matplotlib,我想保存坐标以注释图片以绘制边界框 我用过:
collector = []
def onclick(event):
global i, collector
collector.append((event.xdata, event.ydata))
# Open the annotations file to continue to write
target = open('annotation.txt', 'a')
# Write picture and coordinates
target.write(line)
target.write("\n")
i += 1
event.canvas.figure.clear()
event.canvas.figure.gca().imshow(images[i])
fig = plt.figure(figsize=(5,5))
fig.canvas.mpl_connect('button_press_event', onclick)
plt.imshow(images[0])
plt.show()
但是,我不知道为什么,但它似乎不再起作用了。有人知道在Jupyter Notebook上保存点击事件的解决方案吗? 非常感谢你提前。
答案 0 :(得分:1)
您可能正在使用%matplotlib inline
后端,它不支持任何类型的事件(因为它会生成简单的png图像)。为了使用交互式元素和事件,您需要使用%matplotlib notebook
后端。这意味着你应该放行
%matplotlib notebook
在你的笔记本前面的某个地方。