Update app.py
Browse files
app.py
CHANGED
|
@@ -154,25 +154,7 @@ def bridge_predict_frame(frame, st):
|
|
| 154 |
|
| 155 |
return out_cam, out_result, out_st, out_btn_stop, out_btn_start, score_update, tabs_update
|
| 156 |
|
| 157 |
-
# 橋接 4:圖片上傳
|
| 158 |
-
def bridge_predict_upload(img, st):
|
| 159 |
-
res = emotion.on_upload(img, st)
|
| 160 |
-
|
| 161 |
-
out_result = res[0]
|
| 162 |
-
# out_mood = res[1] # ❌ 同樣忽略隊友的格式
|
| 163 |
-
out_st = res[2]
|
| 164 |
-
|
| 165 |
-
score_update = gr.update()
|
| 166 |
-
tabs_update = gr.update()
|
| 167 |
-
|
| 168 |
-
if out_st.finished and hasattr(out_st, 'final_score'):
|
| 169 |
-
# ✅ 使用 _score_to_radio_value 將整數轉換為半形括號字串
|
| 170 |
-
new_val = _score_to_radio_value(out_st.final_score)
|
| 171 |
-
score_update = gr.update(value=new_val)
|
| 172 |
-
|
| 173 |
-
tabs_update = gr.Tabs(selected=1)
|
| 174 |
-
|
| 175 |
-
return out_result, score_update, tabs_update, out_st
|
| 176 |
|
| 177 |
|
| 178 |
# ==========================================
|
|
@@ -197,11 +179,9 @@ with gr.Blocks(title="AI 心情食堂", css=combined_css) as demo:
|
|
| 197 |
btn_stop = gr.Button("⏹️ 停止", variant="secondary", visible=False)
|
| 198 |
|
| 199 |
cam = gr.Image(sources=["webcam"], streaming=True, type="numpy", label="攝影機畫面", visible=False)
|
| 200 |
-
result_markdown = gr.Markdown(emotion._hint_html("請按「開啟攝影機辨識」
|
| 201 |
|
| 202 |
-
|
| 203 |
-
gr.Markdown("### 或者:上傳照片")
|
| 204 |
-
upload_img = gr.Image(sources=["upload"], type="numpy", label="上傳照片")
|
| 205 |
|
| 206 |
# Tab 2: 主功能區
|
| 207 |
with gr.TabItem("🍽️ AI 心情食堂 (Step 2)", id=1):
|
|
@@ -250,12 +230,7 @@ with gr.Blocks(title="AI 心情食堂", css=combined_css) as demo:
|
|
| 250 |
show_progress="minimal"
|
| 251 |
)
|
| 252 |
|
| 253 |
-
|
| 254 |
-
fn=bridge_predict_upload,
|
| 255 |
-
inputs=[upload_img, st_state],
|
| 256 |
-
outputs=[result_markdown, score_input, tabs, st_state],
|
| 257 |
-
show_progress="minimal"
|
| 258 |
-
)
|
| 259 |
|
| 260 |
submit_btn.click(
|
| 261 |
fn=mood_agent_logic,
|
|
|
|
| 154 |
|
| 155 |
return out_cam, out_result, out_st, out_btn_stop, out_btn_start, score_update, tabs_update
|
| 156 |
|
| 157 |
+
# (已移除) 橋接 4:圖片上傳 - 功能已移除
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 158 |
|
| 159 |
|
| 160 |
# ==========================================
|
|
|
|
| 179 |
btn_stop = gr.Button("⏹️ 停止", variant="secondary", visible=False)
|
| 180 |
|
| 181 |
cam = gr.Image(sources=["webcam"], streaming=True, type="numpy", label="攝影機畫面", visible=False)
|
| 182 |
+
result_markdown = gr.Markdown(emotion._hint_html("請按「開啟攝影機辨識」並允許瀏覽器使用相機。"))
|
| 183 |
|
| 184 |
+
# (已移除) 上傳照片區塊
|
|
|
|
|
|
|
| 185 |
|
| 186 |
# Tab 2: 主功能區
|
| 187 |
with gr.TabItem("🍽️ AI 心情食堂 (Step 2)", id=1):
|
|
|
|
| 230 |
show_progress="minimal"
|
| 231 |
)
|
| 232 |
|
| 233 |
+
# (已移除) 上傳圖片事件
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 234 |
|
| 235 |
submit_btn.click(
|
| 236 |
fn=mood_agent_logic,
|