小编Jat*_*tin的帖子

Streamlit:如何在缓存中存储变量的值

我使用 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')
Run Code Online (Sandbox Code Playgroud)

python opencv python-3.x streamlit

3
推荐指数
1
解决办法
8436
查看次数

标签 统计

opencv ×1

python ×1

python-3.x ×1

streamlit ×1