Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tyh1005_
app
提交
d66689db
A
app
项目概览
tyh1005_
/
app
与 Fork 源项目一致
Fork自
inscode / Streamlit
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d66689db
编写于
4月 19, 2024
作者:
T
tyh1005_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fri Apr 19 16:08:00 CST 2024 inscode
上级
0520122c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
59 addition
and
16 deletion
+59
-16
main.py
main.py
+59
-16
未找到文件。
main.py
浏览文件 @
d66689db
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录