光学字符识别(OCR)将文本图像(扫描件、智能手机照片、PDF)转换为机器可读的字符串,并越来越多地转换为 结构化数据。现代 OCR 是一个清理图像、查找文本、读取文本并导出丰富元数据的管道, 以便下游系统可以搜索、索引或提取字段。两个广泛使用的输出标准是 hOCR,一种用于文本和布局的 HTML 微格式,以及 ALTO XML,一种面向图书馆/档案馆的模式;两者都保留位置、阅读顺序和其他布局提示,并受 流行引擎(如 Tesseract)支持。
预处理。 OCR 质量始于图像清理:灰度转换、去噪、 阈值处理(二值化)和偏斜校正。经典的 OpenCV 教程涵盖了全局、 自适应 和 Otsu 阈值处理——适用于光照不均匀或 双峰直方图的文档。当页面内的光照发生变化时 (例如手机快照),自适应方法通常优于单个全局阈值;Otsu 通过分析直方图自动选择阈值。倾斜校正同样重要:基于霍夫变换的 偏斜校正(霍夫线变换)与 Otsu 二值化相结合,是生产预处理管道中常用且有效的方案。
检测与识别。 OCR 通常分为文本检测(文本在 哪里?)和文本识别(它说了什么?)。在自然场景和许多扫描中,全卷积 检测器(如 EAST )可以有效地预测单词或行级四边形,而无需繁重的提议阶段,并且已在 常见工具包(例如 OpenCV 的文本检测教程)中实现。在复杂的页面(报纸、表格、书籍)上,行/区域的分割和阅读顺序推断很重要:Kraken 实现了传统的区域/行分割和神经基线分割,并明确支持 不同的脚本和方向(LTR/RTL/垂直)。
识别模型。 经典的开源主力 Tesseract (由 Google 开源,源于 HP)从字符分类器演变为基于 LSTM 的序列 识别器,可以从 CLI 发出可搜索的 PDF、 hOCR/ALTO 友好输出等。现代识别器依赖于序列建模,而无需预先分割字符。 连接主义时间分类 (CTC) 仍然是基础,它学习输入特征序列和输出标签字符串之间的对齐;它广泛 用于手写和场景文本管道。
在过去几年中,Transformer 重塑了 OCR。 TrOCR 使用视觉 Transformer 编码器和文本 Transformer 解码器,在大型合成语料库上进行训练,然后 在真实数据上进行微调,在印刷、手写和场景文本基准测试中表现出色(另请参阅 Hugging Face 文档)。与此同时,一些系统绕过 OCR 进行下游理解: Donut(文档理解 Transformer) 是一种无 OCR 的编码器-解码器,可直接从文档 图像输出结构化答案(如键值 JSON)(仓库, 模型卡),避免了在单独的 OCR 步骤为 IE 系统提供数据时出现错误累积。
如果您想要跨多种脚本的“开箱即用”文本阅读, EasyOCR 提供了一个包含 80 多种语言模型的简单 API,可返回框、文本和置信度——方便用于原型和 非拉丁脚本。对于历史文献, Kraken 以基线分割和脚本感知阅读顺序而著称;对于灵活的行级训练, Calamari 建 立在 Ocropy 的基础上(Ocropy),带有(多)LSTM+CTC 识别器和用于微调自定义模型的 CLI。
泛化取决于数据。对于手写, IAM 手写数据库 为训练和评估提供了不同作者的英语句子;它是 行和单词识别的长期参考集。对于场景文本, COCO-Text 在 MS-COCO 上分层了广泛的注释,带有印刷/手写、清晰/不清晰、脚本和 完整转录的标签(另请参阅原始 项目页面)。该领域还严重依赖合成预训练: 野外合成文本 将文本渲染到具有逼真几何和光照的照片中,为预训练 检测器和识别器提供大量数据(参考 代码和数据)。
ICDAR 的鲁棒阅读 下的竞赛使评估保持接地气。最近的任务强调端到端检测/阅读,并包括将单词 链接成短语,官方代码报告 精确率/召回率/F-score、交并比 (IoU) 和字符级编辑距离度量——反映了从业者应该跟踪的内容。
OCR 很少以纯文本结尾。档案馆和数字图书馆更喜欢 ALTO XML ,因为 它除了内容之外还编码了物理布局(带坐标的块/行/字),并且它与 METS 打包配合得很好。 hOCR 微格式则相反,它使用 ocr_line 和 ocrx_word 等类将相同的思想嵌入到 HTML/CSS 中,从而可以轻松地使用 Web 工具进行显示、编辑和转换。Tesseract 两者都支持——例如, 直接从 CLI 生成 hOCR 或可搜索的 PDF(PDF 输出指南);像 pytesseract 这样的 Python 包装器增加了便利性。当存储库具有固定的接收 标准时,存在用于在 hOCR 和 ALTO 之间进行转换的转换器——请参阅此精选列表 OCR 文件格式工具。
最强劲的趋势是融合:检测、识别、语言建模,甚至特定于任务的解码 正在合并到统一的 Transformer 堆栈中。在 大型合成语料库 上进行预训练仍然是一个力量倍增器。无 OCR 模型将在目标是结构化输出 而不是逐字记录的任何地方积极竞争。也期待混合部署:一个轻量级检测器加上一个 TrOCR 风格的 识别器用于长格式文本,以及一个 Donut 风格的模型用于表格和收据。
Tesseract (GitHub) · Tesseract 文档 · hOCR 规范 · ALTO 背景 · EAST 检测器 · OpenCV 文本检测 · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · IAM 手写 · OCR 文件格式工具 · EasyOCR
光学字符识别(OCR)是一种技术,用于将不同类型的文档,如扫描的纸质文档、PDF文件或由数字相机拍摄的图像,转换为可编辑和可搜索的数据。
OCR通过扫描输入的图像或文档,将图像分割成单个字符,然后将每个字符与使用模式识别或特征识别的字符形状数据库进行比较。
OCR用于各种行业和应用中,包括数字化打印文档、启用文字到语音服务、自动化数据录入过程、以及帮助视障用户更好地与文本交互。
尽管OCR技 术已取得了巨大的进步,但它并不是绝对可靠的。根据原始文档的质量和所使用的OCR软件的具体情况,其准确性可能会有所不同。
虽然OCR主要用于识别打印的文本,但一些先进的OCR系统也能识别清晰、一致的手写字。然而,由于个人写作风格的巨大差异,手写字体识别通常准确率较低。
是的,许多OCR软件系统可以识别多种语言。然而,需要确保你正在使用的软件支持特定的语言。
OCR是Optical Character Recognition的缩写,用于识别打印的文本,而ICR,或称Intelligent Character Recognition,更先进,用于识别手写的文本。
OCR最适合处理清晰、易于阅读的字体和标准的文字大小。虽然它可以处理各种字体和大小,但是当处理不常见的字体或非常小的文字大小时,准确性可能会下降。
OCR可能会出现问题,如处理低分辨率的文档,复杂的字体,打印质量差的文本,手写文本,以及含有干扰文本的背景的文档。另外,尽管它可以处理多种语言,但可能并不能完美地覆盖所有语言。
是的,OCR可以扫描彩色的文本和背景,虽然它通常对高对比度的颜色组合更有效,比如黑色的文本和白色的背景。当文本和背景颜色对比度不足时,其准确性可能会降低。
WBMP(无线位图)图像格式是一种单色图形文件格式,针对图形和计算能力有限的移动计算设备(如早期的移动电话和 PDA(个人数字助理))进行了优化。它于 20 世纪 90 年代末推出,旨在提供一种通过无线网络传输图形信息的高效方式,而当时无线网络明显比当今的移动互联网连接速度慢且可靠性低。WBMP 是 WAP(无线应用协议)的一部分,WAP 是一套允许移动设备访问网络内容的协议。
WBMP 图像完全由黑白像素组成,不支持灰度或彩色。这种明显的限制是一种实际决策,反映了早期移动设备有限的显示能力和节省带宽的必要性。WBMP 图像中的每个像素只能处于两种状态之一:黑色或白色。这种二进制特性简化了图像数据结构,使其更紧凑,并且更容易在资源有限的设备上处理。
WBMP 格式遵循一个相对简单的结构,使其易于在各种设备上解析和呈现。WBMP 文件以类型字段开头,指示编码的图像类型。对于标准 WBMP 文件,此类型字段设置为 0,指定基本单色图像。在类型字段之后,两个多字节整数字段分别指定图像的宽度和高度。这些字段使用可变长度格式进行编码,该格式通过仅使用表示维度所需的字节数来保守地使用带宽。
在头部分之后,WBMP 文件的主体包含像素数据。每个像素由一个比特表示:0 表示白色,1 表示黑色。因此,八个像素可以打包到一个字节中,这使得 WBMP 文件非常紧凑,尤其与 JPEG 或 PNG 等更常见的 格式相比。这种效率对于 WBMP 所设计的移动时代的设备和网络至关重要,这些设备和网络通常对数据存储和传输速度有严格的限制。
WBMP 格式的一个主要优点是其简单性。该格式的极简主义方法使其对于通常用来传达的基本图标式图像非常高效,例如徽标、简单图形和程式化文本。这种效率扩展到显示图像所需的处理。由于文件很小且格式简单,因此即使在计算能力非常有限的硬件上,也可以快速解码和渲染。这使得 WBMP 成为早期移动设备的理想选择,这些设备通常难以处理更复杂或数据量更大的图像格式。
尽管 WBMP 格式在受限环境中使用具有优势,但它也有明显的局限性。最明显的是它对单色图像的限制,这从本质上限制了可以有效表示的图形内容的范围。随着移动设备显示器发展到支持全彩色图像,用户对更丰富的媒体内容的期望也越来越高,对更多功能图像格式的需求变得显而易见。此外,WBMP 图像的二进制特性意味着它们缺乏灰度或彩色图像可能具有的细微差别和细节,这使得它们不适合更详细的图形或照片。
随着移动技术和网络基础设施的发展,WBMP 格式的相关性已经下降。现代智能手机拥有强大的处理器和高分辨率彩色显示屏,远远超出了 WBMP 格式最初设计所针对的设备。同样,当今的移动网络提供了明显更高的数据传输速度,即使对于实时网络内容,也可以传输更复杂、数据量更大的图像格式,如 JPEG 或 PNG。因此,WBMP 的使用已基本被淘汰,取而代之的是这些功能更强大的格式。
此外,网络标准和协议的发展也促成了 WBMP 的过时。HTML5 和 CSS3 的普及使得可以向移动设备提供更复杂的网络内容,包括矢量图形和图像,其格式比 WBMP 提供的格式具有更高的质量和色彩保真度。借助这些技术,网 络开发者可以创建丰富详细的交互式内容,这些内容可以适应各种设备和屏幕尺寸,从而进一步降低了使用 WBMP 等受限格式的实用性。
尽管 WBMP 已过时,但了解 WBMP 格式可以为移动计算的演变以及技术限制如何影响软件和协议设计提供宝贵的见解。WBMP 格式是设计人员和工程师如何在他们那个时代的限制下努力创造功能性解决方案的一个典型例子。它的简单性和效率反映了一个时期,当时带宽、处理能力和存储空间都是宝贵的,需要创新的数据压缩和优化方法。
总之,WBMP 图像格式在移动计算发展的形成期发挥了至关重要的作用,为在早期移动设备上传输和显示简单的图形内容提供了一种实用的解决方案。尽管它已被更多功能和更强大的图像格式所取代,但它仍然是移动技术历史的重要组成部分。它提醒我们技术不断发展,以适应不断变化的功能和用户需求,并说明了在开发既高效又适应性强的协议和格式时设计考虑因素的重要性。
这个转换器完全在您的浏览器中运行。当您选择一个文件时,它将被读入内存并转换为所选格式。 然后,您可以下载转换后的文件。
转换立即开始,大多数文件在一秒钟内完成转换。较大的文件可能需要更长时间。
您的文件永远不会上传到我们的服务器。它们在您的浏览器中转换,然后下载转换后的文件。我们永远看不到您的文件。
我们支持在所有图像格式之间进行转换,包括 JPEG、PNG、GIF、WebP、SVG、BMP、TIFF 等等。
这个转换器完全免费,并将永远免费。因为它在您的浏览器中运行,所以我们不需要为服务器付费,因此我们不需要向您收费。
是的!您可以同时转换尽可能多的文件。只需在添加时选择多个文件即可。