【发布时间】:2021-02-18 06:03:47
【问题描述】:
我正在使用 2 个不同的无线电选项来执行不同的任务。我想从一个中捕获图像,然后稍后在选项 2 中执行一些操作。当我在将帧存储在 my_image(在选项 1 中)后尝试将单选选项更改为 2 时,thre streamlit 出现错误NameError: name 'my_image' is not defined。我在想可以通过将变量my_image 存储在缓存中来完成,但我不知道该怎么做。有没有其他方法可以做到这一点。
import streamlit as st
import cv2
def Camera():
frames1 = st.empty()
button1 = st.button('DONE', key=0)
while cap.isOpened():
frames1.image(cap.read()[1], channels="BGR")
if button1:
my_image = cap.read()[1]
cap.release()
break
return my_image
option = st.sidebar.radio('Choose the option', [1, 2])
if option == 1:
cap = cv2.VideoCapture(0)
my_image = Camera()
st.image(my_image, channels="BGR")
if option == 2:
st.image(my_image, channels='BGR')
【问题讨论】:
标签: python python-3.x opencv-python streamlit