Qwen3-VL 图像理解与 OCR — 从图表分析到文档解析
为什么选 Qwen3-VL 做图像理解
Qwen3-VL 相比传统 OCR 工具(PaddleOCR、Tesseract)的区别是理解能力:
- 传统 OCR:只做文字识别,输出纯文本
- Qwen3-VL:识别 + 理解,能分析图表、回答问题、生成摘要
OCR 场景
中文文字识别
messages = [
{
"role": "user",
"content": [
{"image": "file:///invoice.jpg"},
{"text": "识别这张图片里所有的文字。"}
]
}
]
Qwen3-VL 对中文、手写、艺术字体的识别准确率很高。
表格识别与结构化
messages = [
{
"role": "user",
"content": [
{"image": "file:///table.png"},
{"text": "把这个表格转换成 Markdown 格式。"}
]
}
]
公式识别
messages = [
{
"role": "user",
"content": [
{"image": "file:///math_formula.jpg"},
{"text": "识别这个数学公式,用 LaTeX 格式输出。"}
]
}
]
图表分析
数据趋势分析
messages = [
{
"role": "user",
"content": [
{"image": "file:///sales_chart.png"},
{"text": "分析这张销售图表的数据趋势,包括峰值、谷值和整体走向。"}
]
}
]
对比多个图表
messages = [
{
"role": "user",
"content": [
{"image": "file:///2024.png"},
{"image": "file:///2025.png"},
{"text": "对比这两年的数据差异。"}
]
}
]
文档理解
PDF 截图解析
messages = [
{
"role": "user",
"content": [
{"image": "file:///page1.jpg"},
{"image": "file:///page2.jpg"},
{"text": "这是一份合同的前两页,请列出关键条款。"}
]
}
]
界面截图理解
messages = [
{
"role": "user",
"content": [
{"image": "file:///screenshot.png"},
{"text": "描述这个软件界面的主要功能区域。"}
]
}
]
Prompt 技巧
精确指定输出格式
请把识别结果整理成 JSON 格式,字段包括:姓名、日期、金额。
引导模型关注特定区域
请重点关注图片的右上角部分,那里有一个时间戳。
多步骤任务
先识别图片里的表格,然后计算每一行的合计,最后把结果写成一个数据表。
限制
- 图片大小:有上限,超大图片需要先缩放或切片
- 批量处理:一次请求内的图片数有限制(如最多 20 张)
- 分辨率:过高分辨率的图片会被自动缩放
- 非文字视觉:对物体检测的精度可能不如专门的 YOLO/Faster-RCNN
成本考虑
多模态 API 比纯文本贵:
- 图片处理按图片数 + 理解复杂度计费
- 图表分析、文档解析比简单 OCR 消耗更多 token
- 如果只是纯文字 OCR,可以考虑用传统工具(更便宜、更快)