返回博客
tutorial 2026-06-14

图像 OCR:100+ 语言里从任何图片抽出文字(2026)

图像 OCR:100+ 语言里从任何图片抽出文字

你拍下一张日文餐厅菜单、德国路牌、手写讲座板、或者会计同事要数字化的那张格式怪异的发票——你想要里面的文字,可复制粘贴,不必手敲。这就是 OCR(光学字符识别)。到了 2026 年,它终于成熟到你可以在手机上、在浏览器里、用 100+ 种语言完成——而源图片不必上传到任何地方。

本文会讲清楚现代 OCR 的工作原理;什么时候用 Ai2Done 的 Image to Text 工具、什么时候用手机内置 OCR、什么时候用云 API;以及为什么对任何你不愿公开的东西——护照、身份证、名片、医疗文件、家谱研究等——OCR 都应该在本地完成的隐私推理。

TL;DR

  • Image to Text 工具:源图含敏感信息(证件、合同、医疗)时——100% 在浏览器内运行。
  • 用 iOS 实况文本或 Google Lens:手机照片随手一拍一点即用——即时,但数据可能在云端处理。
  • 用云 OCR(Google Cloud Vision、AWS Textract):需要表格结构识别、手写、单次 50+ 页等特殊能力时。
  • PDF 用 Extract Text 工具:它会自动判断 PDF 是文本型(无需 OCR)还是扫描型(运行 OCR)。
  • 100+ 语言:现代 Tesseract 都支持;质量参差不齐(英中日韩近完美,低资源非洲与南亚文字波动较大)。

为什么这件事比看起来更难

从照片里读文字,对你的眼睛是日常;对计算机要同时解三个互相影响的问题:

  1. 检测:图像里哪里有文字?平展的文档扫描件答案是"到处都是";但现实照片(餐厅菜单、斜着拿、日光灯下、半阴影、还压着彩色背景)里文字可能只占 5% 的像素,旋转 12°,还和背景重叠。
  2. 识别:这个字形是什么字符?大多数字体里大写"I"、小写"l"、数字"1"几乎相同;日文汉字 vs 简化中文是三十年的老难题,因为字形几乎一样、意义不同。
  3. 版面:字符以什么阅读顺序拼成词、行、段、列?多栏报纸或带表格的发票是一个独立的 ML 问题,与逐字符识别完全不同。

2010 年的朴素 OCR 库在干净的黑白文档上勉强搞定 (2),在真实照片上 (1) 和 (3) 都失败。现代系统使用端到端深度学习——单个神经网络从图像吐出按阅读顺序排列的文字,隐式处理检测和版面。

浏览器端 OCR 的当前业界水准是 Tesseract 5(开源,由 Google 维护)+ LSTM 识别。支持 100+ 种语言,WebAssembly 下跑得很快,在最常用的 30 种语言上准确度可与商业方案媲美。

方法一:Ai2Done Image to Text(浏览器端、隐私优先)

Ai2Done Image to Text 工具 把 Tesseract.js(Tesseract 5 编译到 WebAssembly)包装成一个干净的 UI:

  1. 在任何现代浏览器中打开 /tools/image_to_text
  2. 选语言——下拉 100+ 选项。多语言文档(如带英文品牌名的中文餐厅小票)可同时选多种语言。
  3. 上传图片——拖入 JPG、PNG、HEIC、WebP 或 BMP。也接受剪贴板粘贴(截图很方便)。
  4. 等待 2-15 秒——Tesseract 跑在你本机 CPU 上。首次使用会下载该语种模型(每种约 5 MB);之后立即可用(缓存在浏览器)。
  5. 复制或下载——输出为纯文本;也可导出可搜索 PDF:OCR 层不可见但可选中,叠加在原图之上。

全程在你的浏览器里。图片、语言模型、抽取的文字都不接触服务器。对敏感文档(护照、医疗记录、银行流水),这是唯一安全的模式——每一家 OCR-as-a-service 至少出于调试目的保留你上传的图片,往往保留时间更长。

准确度小贴士

  • 源图最好相当于 300 DPI 以上(A4 大约 1500×2000 像素)。
  • 能预先校正与裁剪就先做——Tesseract 容忍约 15° 旋转,对齐到位时表现远更好。
  • 对低对比度扫描,工具有 "二值化" 开关,用 Otsu 方法转纯黑白——发黄或淡薄页面常能多 10-15% 准确度。
  • 多栏版面:勾选 "检测多列",让 Tesseract 不要横跨栏目读。

方法二:iOS 实况文本 / Google Lens(手机一键)

日常随手 OCR,手机内置的真的很神:

  • iOS 实况文本(iOS 15+):相机对准任何文字,点击取景器右下指示,再像在网页里一样选字。iPhone 11 及更新机型离线工作;更老的设备回退到云端。
  • Google Lens(Android、Chrome、Google 相册):同样流程,语言支持略广,默认云端运行,Pixel 设备上对敏感内容可选"端侧"。

非常适合"把菜单复制进翻译应用"或"从这张白板照片里发我朋友的电话"。对要落到可下载文本文件或 CSV 的场景,体验差——还得手动一段段复制到笔记应用里。

方法三:云 OCR API(需要规模或特殊能力时)

自动化流水线处理上千份文档,或要超出纯文本提取的能力时:

  • Google Cloud Vision API——多语言支持出色、手写识别强、每 1000 张 $1.50。
  • AWS Textract——表单和表格业界最强(返回结构化的键值对与表格单元格,而非纯文本);按特性 $1.50-50 / 1000 页。
  • Azure Computer Vision——综合扎实,与 Microsoft 365 工作流集成。

代价:每张图都发到第三方服务器、按其数据保留策略留存(一般 30 天调试用途)。非敏感数据的自动化业务流没问题。对护照、医疗记录、合同或任何个人内容,这是你可能不愿迈出的一步。

我们是怎么做的(技术细节)

Ai2Done Image to Text 工具 构建于:

  • Tesseract.js 5.1——Tesseract 5 LSTM 编译到 WebAssembly。核心引擎约 1.5 MB(gzip),每种语言模型 5-20 MB。
  • 按需加载语言——我们不发 100 种模型;浏览器只下载你选的语言。模型缓存在浏览器 HTTP 缓存,重载即时。
  • Web Worker 线程池——批量 OCR 多张图时按 navigator.hardwareConcurrency - 1 派发,UI 保持响应。
  • 预处理管线——在交给 Tesseract 前可选地做去偏(Hough 变换)、二值化(Otsu)、对比度归一化。手机拍纸质文档时收益明显。
  • 可搜索 PDF 导出——"OCR 叠加" 输出用 pdf-lib 把原图与一层位于正确字符位置的不可见文本叠在一起。输出是真正的 PDF,任何阅读器都可打开、搜索、复制。

特别大的图(边长 >4000 px)我们在 OCR 前下采样到 2000 px。多数字体下 Tesseract 准确度在那个分辨率附近饱和,多出来的像素只是减速,并不提升输出。

常见问题

Q:支持手写体吗? A:有限。Tesseract 5 对英文、阿拉伯文等少数语种有实验性手写模型,但真实手写最多 60-80%。认真做手写 OCR,Google Cloud Vision 或 Microsoft Azure Form Recognizer 仍明显更好。我们在跟踪 Tesseract 6(预计 2026 年末)将大幅升级手写。

Q:能直接 OCR 一份 PDF、不必先把每页截图吗? A:能——用 Extract Text 工具。它打开 PDF、判断每页是文本型(直接提取)还是图像型(运行 OCR),并产出合并文本。

Q:我的中/日/韩 OCR 偶有奇怪字符替换,为什么? A:CJK 语种里选对语言模型比欧洲语种重要得多。简繁中文共用许多字符但部分字形风格不同——给繁体文档选 chi_sim 会得到微妙错误的输出。请选具体变体(chi_simchi_trajpn、竖排日文 jpn_vertkor)。

Q:实际准确度多少? A:300 DPI 干净印刷文本、主流语种(英、法、西、德、中、日、韩、俄、阿)下,字符准确度 98-99.5%。常见光线下的手机照片 92-97%。低资源非洲或南亚文字偶有偏低——Tesseract 的训练数据不均衡。

Q:能从视频里抽文字吗? A:本工具不行——它处理静态图。视频字幕请用 Audio to Text 工具(用浏览器端 Whisper)。要拿特定帧的文字,先截图再 Image to Text。

Q:照片斜拍能 OCR 吗? A:约 15° 旋转内可以。严重倾斜(横过桌子拍)请打开 "自动去偏"。超过 30° 后效果迅速下降——先在相册应用里校正再做 OCR。

Q:表格结构数据呢——发票、电子表格? A:Tesseract 返回纯文本、用空白和换行近似版面。要真正的表格单元结构(键值对、多栏财报),AWS Textract 明显更好,目前几乎是唯一合理选项。我们计划 2026 Q4 加浏览器端表格检测。

现在就试

几秒钟从任意图片中抽出文字:

打开 Image to Text 工具 →

拖入照片、选语言、得到文字。无上传、无注册、无水印。

相关阅读


最后更新于 2026-06-14。Image to Text OCR 100% 在你的浏览器内通过 Tesseract.js 运行——你的图片永远不会离开设备。我们不收集、不记录、不分析你处理的任何文件。