-2

我正在运行以下代码:

from tkinter import *
import numpy as np
import czifile
from PIL import ImageTk, Image


def get_czi_images(cziimage: str):
    czi_file=czifile.CziFile(cziimage)
    czi= np.squeeze(czi_file.asarray())[1]
    image=czi[0]
    return image

root=Tk()
root.geometry("514x600")
root.title('Imageviewer with slider')
czi2=get_czi_images("Experiment-78.czi")
x = ImageTk.PhotoImage(Image.fromarray(czi2))
label=Label(image=x)
label.grid(row=0, column=0)
root.mainloop()

它运行良好。这意味着,它以 czi 文件(此处为 Eperiment-78.czi)的形式初始化图像堆栈,然后在窗口中显示第 0 个图像。但是,如果,而不是运行

x = ImageTk.PhotoImage(Image.fromarray(czi2))
label=Label(image=x)

,

我跑

label=Label(image=ImageTk.PhotoImage(Image.fromarray(czi2))),

不显示图像。相反,我得到一个空窗口。

有人请好心解释一下,为什么会这样。

提前致谢!

4

0 回答 0