我正在编写一些迭代的图像处理算法,并且希望在每次迭代后可视化生成的图像。这是Matlab中很容易实现的,而且不会阻塞主线程,但我在Python中很难做到。
在pylab中,show()函数会阻塞程序执行直到关闭窗口。我发现有些人使用ion()函数来解决这个问题,但在我的情况下它没有效果,例如:
仍然阻塞。我也看到有人说“使用draw而不是plot”可以解决这个问题。但是,我没有使用plot而是imshow/show,这里是否有什么我遗漏的东西?
另一方面,PIL也有一些显示函数,但它似乎会生成一个临时图像,然后用imagemagick显示它,所以我假设在这种方法中没有办法在同一个窗口中显示并更新图像。
我正在使用Ubuntu 10.10。
有人知道如何简单地做到这一点吗?还是我必须开始使用类似Qt的东西来拥有一个可以轻松更新的最小GUI?
在pylab中,show()函数会阻塞程序执行直到关闭窗口。我发现有些人使用ion()函数来解决这个问题,但在我的情况下它没有效果,例如:
pylab.ion()
img = pylab.imread('image.png')
pylab.imshow(img)
pylab.show()
仍然阻塞。我也看到有人说“使用draw而不是plot”可以解决这个问题。但是,我没有使用plot而是imshow/show,这里是否有什么我遗漏的东西?
另一方面,PIL也有一些显示函数,但它似乎会生成一个临时图像,然后用imagemagick显示它,所以我假设在这种方法中没有办法在同一个窗口中显示并更新图像。
我正在使用Ubuntu 10.10。
有人知道如何简单地做到这一点吗?还是我必须开始使用类似Qt的东西来拥有一个可以轻松更新的最小GUI?