Прямая обратная связь ImageGrab с tk canvas
Я пытаюсь создать окно, которое напрямую возвращает часть моего экрана. Ничего особо впечатляющего или полезного, но таким образом я могу быстро настроить положение этого экрана для реализации распознавания текста.
В любом случае, это тот фрагмент кода, который, по-видимому, работает без ошибок.
class Overlay():
def __init__(self):
self.root = tk.Tk()
self.root.title("Overlay")
self.panel1 = tk.Canvas(self.root, bg="#fff", height=600, width=800)
self.img = tk.PhotoImage(file = "test.png")
self.panel1.create_image(300, 250, image=tk.PhotoImage(file = "test.png"))
self.panel1.pack()
def changeImage(self, img):
self.panel1.itemconfigure(self.img, image=img)
self.img = img
self.panel1.update()
overlay = Overlay()
while True:
screen = np.array(ImageGrab.grab(bbox=(20,40,200,100)))
#print(pytesseract.image_to_string(screen))
overlay.changeImage(ImageTk.PhotoImage(ImageGrab.grab(bbox=(20,40,200,100))))
if msvcrt.kbhit():
if msvcrt.getch() == b'q':
break
overlay.root.update()
Проблема в том, что у меня полностью белое окно, и я не знаю, почему