Видеопоток не отображается на экране Tkinter - PullRequest
0 голосов
/ 17 апреля 2019

screen_tkinter

Я создал класс Tela, который по сути является моим экраном, и я пытаюсь отобразить видео с веб-камеры в графическом интерфейсе Tkinter. Индикатор моей веб-камеры включен, но метка "painel", где я хочу показать, что мое видео серое Может кто-нибудь сказать мне, что не так с моим кодом. Я ценю.

class Tela:
def __init__(self, janela):
    self.janela = janela
    self.janela.title("Reconhecimento Facial")
    self.janela.config(background="#FFFFFF")

    # Open camera
    self.cam = cv2.VideoCapture(0)
    self.detector = dlib.get_frontal_face_detector()

    self.quadro = tkinter.Frame(janela, width=600, height=500)
    self.quadro.grid(row=0, column=0, padx=10, pady=2, rowspan=3)

    self.painel = tkinter.Label(self.quadro)
    self.quadro.grid(row=0, column=0, rowspan=3)

    # Methods for screen update
    self.delay = 15
    self.update()
    self.janela.mainloop()

def update(self):
    # Get frame 
    ret, frame = self.cam.read()    
    faces, confianca, idx = self.detector.run(frame)
    for i, face in enumerate(faces):
        e, t, d, b = (int(face.left()), int(face.top()), int(face.right()), int(face.bottom()))
        cv2.rectangle(frame, (e, t), (d, b), (0, 255, 255), 2)
    cv2image = cv2.cvtColor(self.frame, cv2.COLOR_BGR2RGBA)
    image = Image.fromarray(cv2image)
    imgtk = ImageTk.PhotoImage(image=image)
    self.painel.imgtk = imgtk
    self.painel.configure(image=imgtk)
    self.janela.after(self.delay, self.update)

   # Creates the window
   Tela(tkinter.Tk())

1 Ответ

0 голосов
/ 17 апреля 2019

Ошибка во второй строке

 self.painel = tkinter.Label(self.quadro)
 self.quadro.grid(row=0, column=0, rowspan=3)

Вы создали Label, но не помещаете его в окно - оно должно быть self.painel.grid вместо self.quadro.grid

 self.painel = tkinter.Label(self.quadro)
 self.painel.grid(row=0, column=0, rowspan=3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...