Я пишу программу, которая обрабатывает видео с использованием нескольких методов на основе выбора и имеет графический интерфейс.один из методов называется вычитанием фона, который обрабатывает видео кадр за кадром.и у меня есть метод show frame, который отправляет кадр в GUI после получения кадра от метода, который вызывает методы для запуска на основе выбора пользователя.проблема в том, что, если я вернул обработанный кадр с помощью return, он остановит обработку видео цикла и остановит функцию.
def DayBackgroundSubtraction():
cap = cv2.VideoCapture ('dataset/video92.mp4')
while cap.isOpened():
# do Processing
return frame
def show_frame():
lmain = Label(bottomFrame)
lmain.grid(row=0, column=0)
(ret, frame) = vid_capture.read()
# receive frame from selected techniques
frame = whichOne()
if ret == True:
cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
img = _image.fromarray(cv2image)
imgtk = ImageTk.PhotoImage(image=img)
lmain.imgtk = imgtk
lmain.configure(image=imgtk)
lmain.after(10, show_frame)
else:
lmain.destroy()