May-18-2021, 04:43 PM
You could try adding a
self.overlay_img = None
to the initclass App: def __init__(self, video_source=0): self.overlay_img = NoneChanging
overlay
todef overlay(self): file = filedialog.askopenfile( mode='rb', defaultextension='.png',title="Choose Overlay Image", filetypes=[("PNG Files", '*.png')]) if file: self.overlay_img = ImageTk.PhotoImage(file=file)and
update
todef update(self): isTrue, frame = self.vid.getFrame() if isTrue: self.photo = ImageTk.PhotoImage(image=Image.fromarray(frame)) self.canvas.tag_lower(self.photo) self.canvas.create_image(0, 0, image=self.photo, anchor=NW) if self.overlay_img: self.canvas.tag_raise(self.overlay_img) self.canvas.create_image(0, 0, image=self.overlay_img, anchor=NW) self.window.after(15, self.update)