def drawRealtimeImages(self): for handle in self.UI_handler: self.canvas.delete(handle) self.UI_handler = [] view = Process.BGRtoRGBA(self.processor.original_image, self.width / 2, self.height / 2) self.view1 = ImageTk.PhotoImage(image=Image.fromarray(view)) self.processor.paint() view = Process.BGRtoRGBA(self.processor.drawing_canvas, self.width / 2, self.height / 2) self.view2 = ImageTk.PhotoImage(image=Image.fromarray(view)) view = Process.GRAYtoRGBA(self.processor.thresholded_image, self.width / 2, self.height / 2) self.view3 = ImageTk.PhotoImage(image=Image.fromarray(view)) self.UI_handler.append(self.canvas.create_image(0, 0, image=self.view1, anchor="nw")) self.UI_handler.append(self.canvas.create_image(800, 600, image=self.view2, anchor="se")) self.UI_handler.append(self.canvas.create_image(0, 600, image=self.view3, anchor="sw")) if hasattr(self.processor, 'defect_point') and len(self.processor.defect_point) != 0 : self.UI_handler.append(self.canvas.create_text(750, 20, text="Fingers: " + str(len(self.processor.defect_point) - 2), anchor="ne", font="15")) else : self.UI_handler.append(self.canvas.create_text(750, 20, text="Fingers: " + str(0), anchor="ne", font="15")) if self.control.signal == True : self.UI_handler.append(self.canvas.create_text(750, 40, text="Control Mode: On", anchor="ne", font="15")) else : self.UI_handler.append(self.canvas.create_text(750, 40, text="Control Mode: Off", anchor="ne", font="15"))