我正在尝试将两个窗口作为面板 A 和面板 B,但我收到以下错误如果 PanelA 为 None 或 PanelB 如果 None: NameError: name 'panelA' is not definedfrom tkinter import *from PIL import Image, ImageTkfrom tkinter import filedialogimport cv2def select_image(): global panelA, panelB path = filedialog.askopenfilename() if len(path) > 0: image = cv2.imread(path) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) edged = cv2.Canny(gray, 50, 100) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) image = Image.fromarray(image) edged = Image.fromarray(edged) image = ImageTk.PhotoImage(image) edged = ImageTk.PhotoImage(edged) if panelA is None or panelB is None: panelA = Label(image=image) panelA.image = image panelA.pack(side="left", padx=10, pady=10) panelB = Label(image=edged) panelB.image = edged panelB.pack(side="right", padx=10, pady=10) else: panelA.configure(image=image) panelB.configure(image=edged) panelA.image = image panelB.image = edgedroot = Tk()panelA = NonepanelB = Nonebtn = Button(root, text="Select an image", command=select_image)btn.pack(side="bottom", fill="both", expand="yes", padx="10", pady="10")root.mainloop()
添加回答
举报
0/150
提交
取消