我使用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 或其他库)?