当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Streamlit st.camera_input用法及代码示例


显示一个从用户的网络摄像头返回图片的小部件。

函数签名

st.camera_input(label, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False)
参数说明

label (str)

一个简短的标签,向用户解释这个小部件的用途。

key (str or int)

一个可选的字符串或整数,用作小部件的唯一键。如果省略,将根据其内容为小部件生成一个 key 。相同类型的多个小部件可能不共享相同的键。

help (str)

显示在相机输入旁边的工具提示。

on_change (callable)

当此 camera_input 的值更改时调用的可选回调。

args (tuple)

传递给回调的可选参数元组。

kwargs (dict)

一个可选的 kwargs 字典传递给回调。

disabled (bool)

一个可选的布尔值,如果设置为 True,则禁用相机输入。默认值为假。此参数只能由关键字提供。

返回说明

(None or UploadedFile)

UploadedFile 类是 BytesIO 的子类,因此它是"file-like"。这意味着您可以将它们传递到预期文件的任何位置。

例子

import streamlit as st

picture = st.camera_input("Take a picture")

if picture:
     st.image(picture)

要将图像文件缓冲区读取为字节,您可以在 UploadedFile 对象上使用 getvalue()

import streamlit as st

img_file_buffer = st.camera_input("Take a picture")

if img_file_buffer is not None:
    # To read image file buffer as bytes:
    bytes_data = img_file_buffer.getvalue()
    # Check the type of bytes_data:
    # Should output: <class 'bytes'>
    st.write(type(bytes_data))

重要的

st.camera_input 返回 UploadedFile 类的对象,它是 BytesIO 的子类。因此它是一个"file-like" 对象。这意味着您可以将它传递到预期文件的任何位置,类似于 st.file_uploader

相关用法


注:本文由纯净天空筛选整理自streamlit.io大神的英文原创作品 st.camera_input。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。