Веб-камера с рамкой fisherface не отображается в графическом интерфейсе Tkinter
Я пытаюсь получить код, чтобы показать мне камеру в кадре, но когда я пытаюсь заставить ее работать, я вижу, что камера работает, но на экране ничего не отображается, вот код. Мне нужно, чтобы он работал как tkinter, так как я хочу подключить его к другой странице tkinter.
import tkinter as tk
import cv2
import dlib
from PIL import Image, ImageTk
width, height = 800, 600
#Set up some required objects
video_capture = cv2.VideoCapture(0) #Webcam object
detector = dlib.get_frontal_face_detector() #Face detector
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
#Landmark identifier. Set the filename to whatever you named the downloaded file
video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, width)
video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, height)
root = tk.Tk()
root.bind('<Escape>', lambda e: root.quit())
lmain = tk.Label(root)
lmain.pack()
def show_frame():
while True:
ret, frame = video_capture.read()
frame = cv2.flip(frame, 1)
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
clahe_image = clahe.apply(gray)
img = Image.fromarray(gray)
imgtk = ImageTk.PhotoImage(image=img)
lmain.imgtk = imgtk
lmain.configure(image=imgtk)
lmain.after(10, show_frame)
detections = detector(clahe_image, 1) #Detect the faces in the image
for k,d in enumerate(detections): #For each detected face
shape = predictor(clahe_image, d) #Get coordinates
for i in range(1,68): #There are 68 landmark points on each face
cv2.circle(frame, (shape.part(i).x, shape.part(i).y),1, (0,0,255), thickness=2)
#For each point, draw a red circle with thickness2 on the original frame
show_frame()
root.mainloop()