Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -467,7 +467,6 @@ async def predict(image):
|
|
467 |
|
468 |
dogs_info = ""
|
469 |
|
470 |
-
# 在每個品種旁邊生成 Gradio 按鈕
|
471 |
for i, (cropped_image, detection_confidence, box) in enumerate(dogs):
|
472 |
top1_prob, topk_breeds, topk_probs_percent = await predict_single_dog(cropped_image)
|
473 |
color = color_list[i % len(color_list)]
|
@@ -488,12 +487,11 @@ async def predict(image):
|
|
488 |
for j, (breed, prob) in enumerate(zip(topk_breeds[:3], topk_probs_percent[:3])):
|
489 |
prob = float(prob.replace('%', ''))
|
490 |
|
491 |
-
# 使用
|
492 |
-
|
493 |
-
|
494 |
-
#
|
495 |
-
|
496 |
-
|
497 |
dogs_info += "</ul>"
|
498 |
|
499 |
else:
|
@@ -501,17 +499,26 @@ async def predict(image):
|
|
501 |
|
502 |
dogs_info += '</div>'
|
503 |
|
504 |
-
#
|
505 |
html_output = f"""
|
506 |
<style>
|
507 |
.dog-info {{ border: 1px solid #ddd; margin-bottom: 20px; padding: 15px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }}
|
508 |
.dog-info h2 {{ background-color: #f0f0f0; padding: 10px; margin: -15px -15px 15px -15px; border-radius: 5px 5px 0 0; }}
|
509 |
</style>
|
510 |
{dogs_info}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
511 |
"""
|
512 |
|
513 |
|
514 |
-
|
515 |
|
516 |
|
517 |
|
|
|
467 |
|
468 |
dogs_info = ""
|
469 |
|
|
|
470 |
for i, (cropped_image, detection_confidence, box) in enumerate(dogs):
|
471 |
top1_prob, topk_breeds, topk_probs_percent = await predict_single_dog(cropped_image)
|
472 |
color = color_list[i % len(color_list)]
|
|
|
487 |
for j, (breed, prob) in enumerate(zip(topk_breeds[:3], topk_probs_percent[:3])):
|
488 |
prob = float(prob.replace('%', ''))
|
489 |
|
490 |
+
# 使用 HTML 按鈕生成
|
491 |
+
button_id = f"Dog {i+1}: More about {breed}"
|
492 |
+
dogs_info += f"<li><strong>{breed}</strong> ({prob:.2f}% confidence)"
|
493 |
+
dogs_info += f'<button style="background-color: #4CAF50; color: white; border: none; padding: 5px 10px; border-radius: 3px; margin-left: 10px;" onclick="handle_button_click(\'{button_id}\')">Learn More</button></li>'
|
494 |
+
buttons.append(button_id) # 為每個品種加入按鈕
|
|
|
495 |
dogs_info += "</ul>"
|
496 |
|
497 |
else:
|
|
|
499 |
|
500 |
dogs_info += '</div>'
|
501 |
|
502 |
+
# 生成 JavaScript 處理點擊事件
|
503 |
html_output = f"""
|
504 |
<style>
|
505 |
.dog-info {{ border: 1px solid #ddd; margin-bottom: 20px; padding: 15px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }}
|
506 |
.dog-info h2 {{ background-color: #f0f0f0; padding: 10px; margin: -15px -15px 15px -15px; border-radius: 5px 5px 0 0; }}
|
507 |
</style>
|
508 |
{dogs_info}
|
509 |
+
<script>
|
510 |
+
function handle_button_click(button_id) {{
|
511 |
+
const radio = document.querySelector('input[type=radio][value="' + button_id + '"]');
|
512 |
+
if (radio) {{
|
513 |
+
radio.click(); // 點擊按鈕後觸發事件
|
514 |
+
}} else {{
|
515 |
+
console.error("Radio button not found:", button_id);
|
516 |
+
}}
|
517 |
+
}}
|
518 |
+
</script>
|
519 |
"""
|
520 |
|
521 |
|
|
|
522 |
|
523 |
|
524 |
|