提交 d66689db 编写于 作者: T tyh1005_

Fri Apr 19 16:08:00 CST 2024 inscode

上级 0520122c
import streamlit as st
from streamlit_option_menu import option_menu
import inscode
import pytesseract
from PIL import Image
import pandas as pd
import seaborn as sns
# 设置Streamlit应用程序的标题
st.set_page_config(page_title="app name", layout="wide")
# 设置Streamlit页面标题和样式
st.set_page_config(page_title="《追风筝的人》阿米尔心理分析系统",
page_icon=":books:",
layout="wide",
initial_sidebar_state="expanded")
menu1="菜单1"
menu2="菜单2"
st.title("《追风筝的人》阿米尔心理分析系统")
with st.sidebar:
menu = option_menu("菜单", [menu1, menu2],
icons=['house', "list-task"],
menu_icon="cast", default_index=0)
# 侧边栏
st.sidebar.header("功能列表")
def main():
# 选择需要的功能
function = st.sidebar.selectbox("请选择需要的功能:", ("情感分析", "互动场景识别", "情感变化趋势"))
if menu == menu1:
st.subheader(f"{menu1}")
# 从本地上传一张图片
if function == "互动场景识别":
st.subheader("请上传一张包含阿米尔互动场景的图片。")
uploaded_image = st.file_uploader("上传图片", type=["jpg", "jpeg", "png"])
if menu == menu2:
st.subheader(f"{menu2}")
# 进行情感分析
elif function == "情感分析":
prompt = "请描述阿米尔在小说中的情感状态。"
content = st.text_area("输入文本", "")
if st.button("提交"):
result = inscode.ai(prompt, content)
st.success(f"结果:{result}")
if __name__ == '__main__':
main()
# 计算情感变化趋势
else:
st.subheader("情感值统计")
st.info("请先在“情感分析”中提交若干次阿米尔的情感状态,然后再在此进行统计。")
data = pd.read_csv("emotions.csv")
st.dataframe(data)
fig = sns.lineplot(x="时间", y="情感值", data=data)
st.pyplot(fig)
# 如果上传了图片,则进行OCR文字识别处理
if uploaded_image:
img = Image.open(uploaded_image)
st.image(img, caption="原图", use_column_width=True)
text = pytesseract.image_to_string(img, lang="chi_sim")
st.subheader("文字识别结果")
st.write(text)
# 查找包含阿米尔的互动场景的文本
if "阿米尔" in text:
st.subheader("包含阿米尔的场景")
scenes = []
for line in text.split("\n"):
if "阿米尔" in line:
scenes.append(line.strip())
st.write(scenes)
# 将互动场景记录到CSV文件中
data = pd.read_csv("scenes.csv")
new_data = pd.DataFrame()
new_data["时间"] = pd.date_range(start="2021-07-01", periods=len(scenes), freq="D")
new_data["场景"] = scenes
data = pd.concat([data, new_data], axis=0)
data.to_csv("scenes.csv", index=False)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册