运行时依赖
安装命令
点击复制技能文档
汉字书法字体识别技能 功能概述 本技能调用 HuggingFace Spaces 上的书法识别模型(jfxia/shufa)来识别书法图片中的字体类型。
支持的字体类型 根据书法识别模型,支持以下字体识别: 字体类型 说明 楷书 标准楷体,如欧阳询、颜真卿、柳公权字体 行书 行云流水,如王羲之、米芾字体 草书 狂放不羁,如怀素、张旭字体 篆书 大篆、小篆 隶书 汉隶风格 魏碑 魏碑体
使用方法
- 图像输入
- API 调用
import requests
# 方法一:使用 HuggingFace Inference API
API_URL = "https://api-inference.huggingface.co/models/xiajingfeng/shufa"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
def query(filename):
with open(filename, "rb") as f:
data = f.read()
response = requests.post(API_URL, headers=headers, data=data)
return response.json()
# 方法二:使用 HuggingFace Space (Gradio UI)
# 直接通过 HTTP 请求调用 Space 的 API
SPACE_URL = "https://xiajingfeng-shufa.hf.space"
- 返回结果
{
"label": "行书",
"confidence": 0.85,
"scores": [
{"label": "行书", "score": 0.85},
{"label": "楷书", "score": 0.10},
{"label": "草书", "score": 0.03},
{"label": "篆书", "score": 0.01},
{"label": "隶书", "score": 0.01}
]
}
识别流程
用户上传书法图片
│
▼ 图片预处理
│
├── 格式转换
├── 尺寸调整
└── 质量检查
│
▼ 调用识别模型
│
├── API 请求
├── 模型推理
└── 结果解析
│
▼ 返回识别结果
│
├── 字体类型
├── 置信度
└── 备选字体 使用示例 示例 1:识别上传的图片 用户输入:请识别这张书法图片是什么字体?(上传书法图片) 处理流程: 接收用户上传的图片 进行图片预处理 调用书法识别 API 返回识别结果 返回结果: 识别结果:行书(置信度 85%) 备选字体:楷书(10%)、草书(3%)
示例 2:识别图片URL 用户输入:识别这个链接中的书法字体:https://example.com/calligraphy.jpg 处理流程: 下载图片 调用识别 API 返回结果
注意事项 图片质量:识别效果与图片质量密切相关,建议使用清晰、完整的书法图片 图片内容:图片中应包含完整的汉字,避免只识别单个笔画 混合字体:如果图片中包含多种字体,模型会返回主要字体 API 限制:注意 HuggingFace API 的调用频率限制
错误处理 错误类型 说明 处理方式 图片格式不支持 上传了不支持的图片格式 提示用户使用支持的格式 图片过大 图片超过 API 限制 自动压缩或提示用户 API 调用失败 网络问题或 API 不可用 重试或提示稍后重试 识别失败 模型无法识别 返回"无法识别"并说明原因
相关工具 本技能可能需要使用以下工具: images_understand - 图片理解分析 extract_content_from_websites - 从网页提取图片 images_search_and_download - 搜索并下载图片 image_synthesize - 图片合成(生成书法风格图片)
扩展功能 除了基本的字体识别,还可以扩展以下功能: 字体风格分析:分析书法的具体风格特点 作者推断:根据风格推断可能的书法家 年代鉴定:估计书法作品的大致年代 临摹建议:提供临摹建议和学习路径