OCR 任何PDB

拖放照片、扫描件或 PDF(最大 2.5GB)。我们直接在您的浏览器中提取文本 — 免费、无限制,您的文件绝不会离开您的设备。

私密和安全

一切都在您的浏览器中进行。您的文件绝不接触我们的服务器。

极速

无需上传,无需等待。在您拖放文件的瞬间即可转换。

完全免费

无需帐户。无隐藏费用。无文件大小限制花招。

光学字符识别(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 文件格式工具

实用指南

  • 从数据和清洁度开始。 如果您的图像是手机照片或质量参差不齐的扫描件, 请在进行任何模型调整之前投资于阈值处理(自适应和 Otsu)和偏斜校正(Hough)。您通常会从强大的预处理方案中获益更多,而不是更换 识别器。
  • 选择正确的检测器。 对于具有规则列的扫描页面,页面分割器(区域 → 行)可能就足够了;对于自然图像,像 EAST 这样的单次检测器是强大的基线,可以插入许多工具包(OpenCV 示例)。
  • 选择与您的文本匹配的识别器。 对于印刷体拉丁文, Tesseract (LSTM/OEM) 坚固而快速;对于多脚本或快速原型, EasyOCR 是高效的;对于手写或历史字体,请考虑 Kraken Calamari 并计划进行微调。如果您需要与文档理解(键值提取、VQA)紧密耦合, 请在您的模式上评估 TrOCR (OCR) 与 Donut (无 OCR)——Donut 可能会移除整个集成步骤。
  • 衡量重要指标。 对于端到端系统,报告检测 F-score 和识别 CER/WER(均基于 Levenshtein 编辑距离;请参阅 CTC);对于布局繁重的任务,请跟踪 IoU/紧密度和字符级归一化编辑距离,如 ICDAR RRC 评估工具包中所示。
  • 导出丰富输出。 首选 hOCR /ALTO (或两者),以便保留坐标和阅读顺序——这对于搜索结果高亮、表格/字段 提取和来源至关重要。Tesseract 的 CLI 和 pytesseract 使其成为一行代码即可完成的操作。

展望未来

最强劲的趋势是融合:检测、识别、语言建模,甚至特定于任务的解码 正在合并到统一的 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?

光学字符识别(OCR)是一种技术,用于将不同类型的文档,如扫描的纸质文档、PDF文件或由数字相机拍摄的图像,转换为可编辑和可搜索的数据。

OCR如何工作?

OCR通过扫描输入的图像或文档,将图像分割成单个字符,然后将每个字符与使用模式识别或特征识别的字符形状数据库进行比较。

OCR有些什么实际应用?

OCR用于各种行业和应用中,包括数字化打印文档、启用文字到语音服务、自动化数据录入过程、以及帮助视障用户更好地与文本交互。

OCR总是100%准确的吗?

尽管OCR技术已取得了巨大的进步,但它并不是绝对可靠的。根据原始文档的质量和所使用的OCR软件的具体情况,其准确性可能会有所不同。

OCR可以识别手写字吗?

虽然OCR主要用于识别打印的文本,但一些先进的OCR系统也能识别清晰、一致的手写字。然而,由于个人写作风格的巨大差异,手写字体识别通常准确率较低。

OCR可以处理多种语言吗?

是的,许多OCR软件系统可以识别多种语言。然而,需要确保你正在使用的软件支持特定的语言。

OCR和ICR有什么区别?

OCR是Optical Character Recognition的缩写,用于识别打印的文本,而ICR,或称Intelligent Character Recognition,更先进,用于识别手写的文本。

OCR能处理所有字体和文字大小吗?

OCR最适合处理清晰、易于阅读的字体和标准的文字大小。虽然它可以处理各种字体和大小,但是当处理不常见的字体或非常小的文字大小时,准确性可能会下降。

OCR技术有哪些限制?

OCR可能会出现问题,如处理低分辨率的文档,复杂的字体,打印质量差的文本,手写文本,以及含有干扰文本的背景的文档。另外,尽管它可以处理多种语言,但可能并不能完美地覆盖所有语言。

OCR可以扫描彩色文字或彩色背景吗?

是的,OCR可以扫描彩色的文本和背景,虽然它通常对高对比度的颜色组合更有效,比如黑色的文本和白色的背景。当文本和背景颜色对比度不足时,其准确性可能会降低。

什么是PDB格式?

Palm 数据库图片查看器格式

PCX图像格式,代表“图片交换”,是一种光栅图形文件格式,主要用于20世纪80年代末和90年代的DOS和基于Windows的计算机。它由ZSoft公司开发,是IBM PC兼容计算机上最早被广泛接受的彩色图像格式之一。PCX格式以其简单性和易于实现而闻名,这促成了它在个人计算早期阶段的广泛采用。它因在Microsoft Paintbrush(后来成为Microsoft Paint)等软件中的使用而特别受欢迎,还用于屏幕截图、扫描仪输出和桌面壁纸。

PCX文件格式旨在表示扫描图像和其他类型的图片数据。它支持各种颜色深度,包括单色、2色、4色、16色、256色和24位真彩色图像。该格式允许使用一系列分辨率和宽高比,使其适用于不同的显示设备和打印要求。尽管具有灵活性,但PCX格式在很大程度上已被JPEG、PNG和GIF等更现代的图像格式所取代,这些格式提供了更好的压缩和颜色支持。然而,了解PCX格式仍然与处理包含PCX文件的遗留系统或数字档案的人员相关。

PCX文件由一个头文件、图像数据和一个可选的256色调色板组成。头文件长128字节,包含有关图像的重要信息,例如所使用的PCX格式的版本、图像尺寸、颜色平面的数量、每个颜色平面的每像素位数以及编码方法。PCX文件中使用的编码方法是行程长度编码(RLE),这是一种简单的无损数据压缩形式,可以在不牺牲图像质量的情况下减小文件大小。RLE通过将相同字节的序列压缩成一个字节后跟一个计数字节来工作,该计数字节指示该字节应重复的次数。

PCX文件中的图像数据被组织成平面,每个平面代表不同的颜色分量。例如,24位彩色图像将有三个平面,每个平面分别对应红色、绿色和蓝色分量。每个平面中的数据使用RLE编码,并按行存储,每行代表水平像素线。行从上到下存储,在每行中,像素从左到右存储。对于颜色深度小于24位的图像,文件末尾可能存在一个附加的调色板部分,该部分定义图像中使用的颜色。

可选的256色调色板是PCX格式的一个关键特性,适用于每像素8位或更少的图像。此调色板通常位于文件末尾,紧跟图像数据之后,并由一系列3字节条目组成,每个条目代表单个颜色的红色、绿色和蓝色分量。调色板允许在图像中表示广泛的颜色,即使每个像素仅引用颜色索引而不是存储完整颜色值。这种索引颜色方法在文件大小方面很有效,但与真彩色图像相比,它限制了色彩保真度。

PCX格式的一个优点是其简单性,这使得开发人员可以轻松地在他们的软件中实现它。该格式的头文件在大小和布局上是固定的,这允许对图像数据进行直接解析和处理。此外,与其他格式中使用的更复杂的压缩算法相比,PCX文件中使用的RLE压缩相对简单。这种简单性意味着PCX文件可以在当时有限的硬件上轻松生成和处理,而无需大量的处理能力或内存。

尽管简单,但PCX格式确实有一些限制。主要缺点之一是它不支持透明度或alpha通道,这对于现代图形工作(例如图标设计或视频游戏图形)至关重要。此外,RLE压缩虽然对某些类型的图像有效,但不如JPEG或PNG等格式中使用的压缩算法有效。这可能导致PCX文件的文件大小更大,尤其是在处理高分辨率或真彩色图像时。

PCX格式的另一个限制是它不支持元数据。与TIFF或JPEG等格式不同,这些格式可以包含有关图像的广泛元数据,例如用于拍摄照片的相机设置或图像创建的日期和时间,PCX文件仅包含显示图像所需的最基本信息。这使得该格式不适合专业摄影或任何保留此类信息很重要的应用程序。

尽管存在这些限制,但PCX格式在过去被广泛使用,并且今天仍被许多图像编辑和查看程序识别。它的传统在Adobe Photoshop、GIMP和CorelDRAW等软件中对该格式的持续支持中显而易见。对于使用较旧系统或需要访问历史数字内容的用户来说,处理PCX文件的能力仍然很重要。此外,该格式的简单性使其成为学习图像文件格式和数据压缩技术的案例研究。

PCX格式还在桌面出版和图形设计的早期阶段发挥了作用。它对多种分辨率和颜色深度的支持使其成为在不同软件和硬件平台之间创建和交换图形的灵活选择。在专有格式可能对协作造成障碍的时候,PCX格式充当了一个共同点,促进了跨不同系统共享图像。

在技术实现方面,创建PCX文件涉及编写128字节的头文件,其中包含图像属性的正确值,然后是每个颜色平面的RLE压缩图像数据。如果图像使用调色板,则调色板数据将附加到文件末尾。在读取PCX文件时,该过程会逆转:读取头文件以确定图像属性,对RLE数据进行解压缩以重建图像,如果存在,则读取调色板以将颜色索引映射到其相应的RGB值。

PCX头文件包含几个对于解释图像数据至关重要的字段。其中包括制造商(始终为ZSoft的10)、版本(指示PCX格式的版本)、编码(始终为1,用于RLE压缩)、每像素位数(指示颜色深度)、图像尺寸(由Xmin、Ymin、Xmax和Ymax字段给出)、水平和垂直分辨率、颜色平面的数量、每行字节数(指示颜色平面中每行的字节数)以及灰度图像标志等。

PCX格式的RLE压缩旨在对具有大面积均匀颜色的图像进行高效压缩,这在当时的计算机图形中很常见。例如,具有大面积蓝天的图像可以有效压缩,因为蓝色像素将由一个字节后跟一个计数字节表示,而不是单独存储每个蓝色像素。然而,对于具有更复杂图案或颜色变化的图像,RLE压缩效果较差,并且生成的文件大小可能不会明显小于未压缩的图像。

总之,PCX图像格式是一种历史文件格式,在个人计算和数字图形的早期阶段发挥了重要作用。它的简单性和易于实现使其成为软件开发人员和用户的热门选择。虽然它在很大程度上已被更高级的图像格式所取代,但PCX格式仍然是数字遗产的重要组成部分,并继续得到许多现代图形应用程序的支持。了解PCX格式可以深入了解数字成像技术的发展以及数据压缩和文件格式设计的挑战。

支持的格式

AAI.aai

AAI Dune 图像

AI.ai

Adobe Illustrator CS2

AVIF.avif

AV1 图像文件格式

BAYER.bayer

原始 Bayer 图像

BMP.bmp

Microsoft Windows 位图

CIN.cin

Cineon 图像文件

CLIP.clip

图像剪贴遮罩

CMYK.cmyk

原始 青色,洋红,黄色,黑色 样本

CUR.cur

Microsoft 图标

DCX.dcx

ZSoft IBM PC 多页 Paintbrush

DDS.dds

Microsoft DirectDraw Surface

DPX.dpx

SMTPE 268M-2003 (DPX 2.0) 图像

DXT1.dxt1

Microsoft DirectDraw Surface

EPDF.epdf

封装的可移植文档格式

EPI.epi

Adobe 封装的 PostScript 交换格式

EPS.eps

Adobe 封装的 PostScript

EPSF.epsf

Adobe 封装的 PostScript

EPSI.epsi

Adobe 封装的 PostScript 交换格式

EPT.ept

带 TIFF 预览的封装 PostScript

EPT2.ept2

封装的 PostScript 二级带 TIFF 预览

EXR.exr

高动态范围 (HDR) 图像

FF.ff

Farbfeld

FITS.fits

灵活图像传输系统

GIF.gif

CompuServe 图形交换格式

HDR.hdr

高动态范围图像

HEIC.heic

高效图像容器

HRZ.hrz

慢扫描电视

ICO.ico

Microsoft 图标

ICON.icon

Microsoft 图标

J2C.j2c

JPEG-2000 代码流

J2K.j2k

JPEG-2000 代码流

JNG.jng

JPEG 网络图形

JP2.jp2

JPEG-2000 文件格式

JPE.jpe

联合图像专家小组 JFIF 格式

JPEG.jpeg

联合图像专家小组 JFIF 格式

JPG.jpg

联合图像专家小组 JFIF 格式

JPM.jpm

JPEG-2000 文件格式

JPS.jps

联合图像专家小组 JPS 格式

JPT.jpt

JPEG-2000 文件格式

JXL.jxl

JPEG XL 图像

MAP.map

多分辨率无缝图像数据库 (MrSID)

MAT.mat

MATLAB 5 级图像格式

PAL.pal

Palm pixmap

PALM.palm

Palm pixmap

PAM.pam

通用 2D 位图格式

PBM.pbm

便携式位图格式(黑白)

PCD.pcd

照片 CD

PCT.pct

Apple Macintosh QuickDraw/PICT

PCX.pcx

ZSoft IBM PC Paintbrush

PDB.pdb

Palm 数据库图片查看器格式

PDF.pdf

便携式文档格式

PDFA.pdfa

便携式文档归档格式

PFM.pfm

便携式浮点格式

PGM.pgm

便携式灰度图格式(灰度)

PGX.pgx

JPEG 2000 无损格式

PICT.pict

Apple Macintosh QuickDraw/PICT

PJPEG.pjpeg

联合图像专家小组 JFIF 格式

PNG.png

便携式网络图形

PNG00.png00

从原图继承位深度和颜色类型的 PNG

PNG24.png24

不透明或二值透明的 24 位 RGB (zlib 1.2.11)

PNG32.png32

不透明或二值透明的 32 位 RGBA

PNG48.png48

不透明或二值透明的 48 位 RGB

PNG64.png64

不透明或二值透明的 64 位 RGBA

PNG8.png8

不透明或二值透明的 8 位索引

PNM.pnm

便携式任意图

PPM.ppm

便携式像素图格式(彩色)

PS.ps

Adobe PostScript 文件

PSB.psb

Adobe 大型文档格式

PSD.psd

Adobe Photoshop 位图

RGB.rgb

原始 红色,绿色,蓝色 样本

RGBA.rgba

原始 红色,绿色,蓝色,Alpha 样本

RGBO.rgbo

原始 红色,绿色,蓝色,不透明度 样本

SIX.six

DEC SIXEL 图形格式

SUN.sun

Sun Rasterfile

SVG.svg

可缩放矢量图形

TIFF.tiff

标记图像文件格式

VDA.vda

Truevision Targa 图像

VIPS.vips

VIPS 图像

WBMP.wbmp

无线位图 (0级) 图像

WEBP.webp

WebP 图像格式

YUV.yuv

CCIR 601 4:1:1 或 4:2:2

常见问题

这是如何工作的?

这个转换器完全在您的浏览器中运行。当您选择一个文件时,它将被读入内存并转换为所选格式。 然后,您可以下载转换后的文件。

转换一个文件需要多长时间?

转换立即开始,大多数文件在一秒钟内完成转换。较大的文件可能需要更长时间。

我的文件会发生什么?

您的文件永远不会上传到我们的服务器。它们在您的浏览器中转换,然后下载转换后的文件。我们永远看不到您的文件。

我可以转换哪些文件类型?

我们支持在所有图像格式之间进行转换,包括 JPEG、PNG、GIF、WebP、SVG、BMP、TIFF 等等。

这要花多少钱?

这个转换器完全免费,并将永远免费。因为它在您的浏览器中运行,所以我们不需要为服务器付费,因此我们不需要向您收费。

我可以同时转换多个文件吗?

是的!您可以同时转换尽可能多的文件。只需在添加时选择多个文件即可。