我正在运行以下代码:
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)))
,
不显示图像。相反,我得到一个空窗口。
有人请好心解释一下,为什么会这样。
提前致谢!