1

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

4

0 回答 0