显示图片并刷新

时间:2015-07-24 19:25:48

标签: python image tkinter refresh pyevolve

我使用pyevolve制作了一个带遗传算法的程序;它每一代都会修改一个PIL图像。代码如下。

def update_image():
    global image
    # Update image

...
ga = GSimpleGA.GSimpleGA( genome )
...
ga.stepCallback.set( update_image )
ga.evolve( freq_stats = 1 )

效果很好,但我无法看到图像如何变化;我只能在将其保存到文件时看到最终图像。

我尝试使用Tkinter并像这样修改了我的程序

root = Tk.Tk()
label = Tk.Label( root )
label.pack()

def update_image():
    global image
    # Update image

    tkimage = ImageTk.PhotoImage( image )
    label.configure( image = tkimage )
    label.image = tkimage

...
ga = GSimpleGA.GSimpleGA( genome )
...
ga.stepCallback.set( update_image )

root.after( 1000, lambda : ga.evolve( freq_stats = 1 ) )
root.mainloop()

但它只运行遗传算法并且不会更新图像。

是否还有其他(更简单)的方式来显示图像并在我需要时(使用Tkinter或其他库)准确更新?

0 个答案:

没有答案