【发布时间】:2020-01-01 12:50:20
【问题描述】:
我有一个画布,我需要显示一张使用cv2 的 VideoCapture 拍摄的图像,因此我将其转换为:
img = Image.fromarray(img)
img = ImageTk.PhotoImage(master=window, image=img.resize((800, 600)))
但它只是不显示。
我尝试将 photoImages 母版更改为画布,但也没有用。
def cv2tk(img, window):
# fic the colors
b,g,r = cv2.split(img)
img = cv2.merge((r,g,b))
# turn img into tkphoto
img = Image.fromarray(img)
imgtk = ImageTk.PhotoImage(master=window, image=img.resize((800, 600), Image.ANTIALIAS))
# return img
return imgtk
window = Tk()
window.geometry("800x600")
c = Canvas(window, width=800, height=600)
c.grid(row=0, column=0)
vc = cv2.VideoCapture(0)
val, frame = vc.read()
img = convert.cv2tk(frame, window)
c.create_image(0, 0, image=img)
while True:
window.update()
我希望得到一个带有来自网络摄像头的图片的窗口,但实际上我得到了一个空白窗口。
请帮忙。
【问题讨论】:
标签: image numpy opencv tkinter cv2