""" AI 垃圾分类助手 - 高级 Gradio UI 版本 特点: 1. 缩略图显示 2. 点击查看原图 3. Tabs 分区布局 4. 排行榜折叠 5. 更现代化卡片式 UI 6. 更清晰的视觉层级 """ import base64 from PIL import Image # HEIC 支持 try: import pillow_heif pillow_heif.register_heif_opener() HEIF_SUPPORT = True except Exception: HEIF_SUPPORT = False import random import gradio as gr from knowledge import get_class_info from database import Database # 数据库 # -------------------------------------------------- db = Database() # 分类器懒加载 _classifier = None TEMP_IMG = "temp_upload.jpg" # -------------------------------------------------- # 模型加载 # -------------------------------------------------- def get_classifier(): global _classifier if _classifier is None: from predict import GarbageClassifier _classifier = GarbageClassifier() return _classifier # -------------------------------------------------- # 图片转 base64 # -------------------------------------------------- def make_img_data_uri(path): with open(path, "rb") as f: return ( "data:image/jpeg;base64," + base64.b64encode(f.read()).decode() ) # -------------------------------------------------- # 主识别逻辑 # -------------------------------------------------- def classify_and_advise(image, username="default"): if image is None: return ( """
请先上传一张垃圾图片
{e}
请先运行:
python main.py train
{e}
上传垃圾图片后点击「开始识别」