0

我有一堆卫星图像正在检查错误,这非常乏味。我想要一种在 Python 中有效地做到这一点的方法,我可以在其中查看图像,完成后关闭窗口,查看下一张图像等,而无需我每次都更改代码(例如plt.imshow(image1)plt.imshow(image2)等.)。

我尝试使用input()which 暂停一个功能,直到用户按下 ENTER 但不幸plt.imshow()的是它阻止显示图像,直到循环完全完成,然后它只显示循环中的最后一个图像。

npoints = 100 * 100
noise = randgen.randn(npoints).reshape([100, 100])
image_1 = np.mgrid[0:100:100j, 0:100:100j][0]
image_2 = np.mgrid[0:100:100j, 0:100:100j][1]
image_3 = image_1 * image_2
images = [image_1, image_2, image_3]

for image in images:
    plt.imshow(image)
    input()

关于我如何做到这一点的任何想法,或者在 Python 中交互绘图的另一种方式?

谢谢

4

1 回答 1

0

我更深入地研究了 matplotlib 中的事件处理,并找到了一个合适的解决方案plt.waitforbuttonpress()

npoints = 100 * 100
noise = randgen.randn(npoints).reshape([100, 100])
image_1 = np.mgrid[0:100:100j, 0:100:100j][0]
image_2 = np.mgrid[0:100:100j, 0:100:100j][1]
image_3 = image_1 * image_2
images = [image_1, image_2, image_3]

for image in images:
    plt.imshow(image)
    plt.waitforbuttonpress()
    plt.close()

于 2020-06-24T19:34:51.653 回答