Hi everyone.
I am showing the webcam screen continuously in the streamlit application while a toggle button is ON.
From here, what I want is that when a button is pressed, break the loop and do some type of processing with the current frame, but I am having problems putting a st.button inside the while loop.
Any advice?
Thanks!
This is the fragment of the code:
run = st.toggle(f'Activar `streaming` de la cámara') # Se crea una ventana para ir mostrando los 'frames' de la cámara ('array' para ir añadiendo de forma continua los 'frames') frame_window = st.image([]) # Se realiza una captura de vídeo capture = cv2.VideoCapture(0) # Mientras el botón de 'streaming' está activado.. while run: # Se comienza a capturar los 'frames' y se guardan dos valores ('ret' es una variable booleana que indica cuando SÍ se # ha capturado una imagen; y 'frame' es la imagen que se está capturando en ese momento). ret, frame = capture.read() # El 'frame' se cambia a escala RGB frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # Muestra imagen en la ventana definida arriba con la anchura de la columna, por lo que la imagen se muestra centrada frame_window.image(frame, caption='Pantalla de la cámara', use_column_width='always') # Botón de activar el procesado del 'frame' troph_button = st.button('Detection') # Si se pulsa el botón se realiza la detección de objetos if troph_button: # processing frame