我正在尝试复制以下代码以将cv2图像输出到GUI:
import numpy as np
import cv2
import Tkinter
from PIL import Image
from PIL import ImageTk
# Load an color image
img = cv2.imread('img.jpg')
#Rearrang the color channel
b,g,r = cv2.split(img)
img = cv2.merge((r,g,b))
# A root window for displaying objects
root = Tkinter.Tk()
# Convert the Image object into a TkPhoto object
im = Image.fromarray(img)
imgtk = ImageTk.PhotoImage(image=im)
# Put it in the display window
Tkinter.Label(root, image=imgtk).pack()
root.mainloop() # Start the GUI
然而,在尝试执行此操作时,我最终得到以下错误:
TclError: image "pyimage1" doesn't exist
在我的理解中,它正在寻找一些名称为pyimage1的东西,我已经多次按代码搜索了这个名称,除非这是一个我缺少的模块。 输出基本上只是一个空白的GUI,没有显示图像,伴随着终端中的错误。 任何有关如何进行的指导将非常有帮助。
答案 0 :(得分:0)
尝试更改行:
root = Tkinter.Tk()
到
root = Toplevel
..只是一个猜测让我知道它是否有效。