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