当前位置:网站首页>处理streamlit库上传的图片文件

处理streamlit库上传的图片文件

2022-07-06 18:28:00 huijigo

  steamlit是一个可以快速建立网站的界面。在学校安排的实训项目中,我们要实现基于内容的图像检索系统设计和实现。其中的分支任务就是检索上传的图像。
  我们使用了steamlit的uploadfile组件,该组件能将我们需要的图片以字节的方式上传到后端程序中。现在面临的问题就是如何解析这个16进制文件。
解决方案是PIL库的Image.open();他不仅可以直接读取文件路径下的文件,还可以通过字节流读取文件。
在这里插入图片描述

from io import BytesIO
import numpy as np
from PIL import Image
import streamlit as st
import  cv2

#创建file_uploader组件
uploaded_file = st.file_uploader("Choose a file")
if uploaded_file is not None:
     # To read file as bytes:
     bytes_data = uploaded_file.getvalue()
     #将字节数据转化成字节流
     bytes_data = BytesIO(bytes_data)
     #Image.open()可以读字节流
     capture_img = Image.open(bytes_data)
     capture_img = cv2.cvtColor(np.asarray(capture_img), cv2.COLOR_RGB2BGR)
原网站

版权声明
本文为[huijigo]所创,转载请带上原文链接,感谢
https://blog.csdn.net/huijigo/article/details/125603865