привет, я просто пытаюсь сохранить видеокадр с помощью веб-камеры в python GUI с помощью модуля tkinter
как я могу переместить видео вниз или в другое место в GUI и как уменьшить размер экрана видео-шоу
я пытаюсь изменить lmain = tk.Label(master=window)
в основной функции на lmain = tk.Label(master=window).place(x=500,y=500)
, если я это делаю, я получаю следующую ошибку
[WARN: 0] global C: \ projects \ opencv-python \ opencv \ modules \ videoio \ src \ cap_msmf. cpp (674) SourceReaderCB :: ~ SourceReaderCB завершается асинхронно c обратный вызов
#This Python program is developed in order to open an internal camera and display the image within Tkinter window.
#importing modules required
from ttk import *
import tkinter as tk
from tkinter import *
import cv2
from PIL import Image, ImageTk
import os
import numpy as np
global last_frame #creating global variable
last_frame = np.zeros((480, 640, 3), dtype=np.uint8)
global cap
cap = cv2.VideoCapture(0)
def show_vid(): #creating a function
if not cap.isOpened(): #checks for the opening of camera
print("cant open the camera")
flag, frame = cap.read()
frame = cv2.flip(frame, 1)
if flag is None:
print("Major error!")
elif flag:
global last_frame
last_frame = frame.copy()
pic = cv2.cvtColor(last_frame, cv2.COLOR_BGR2RGB) #we can change the display color of the frame gray,black&white here
img = Image.fromarray(pic)
imgtk = ImageTk.PhotoImage(image=img)
lmain.imgtk = imgtk
lmain.configure(image=imgtk)
lmain.after(10, show_vid)
if __name__ == '__main__':
window=tk.Tk() #assigning window variable for Tkinter as tk
lmain = tk.Label(master=window)
lmain.grid(column=0, rowspan=4, padx=5, pady=5)
window.title("Sign Language Processor") #you can give any title
window.geometry("1366x768")
show_vid()
window.mainloop() #keeps the application in an infinite loop so it works continuosly
cap.release()