如何在 JavaScript 中使用 OCR?
介绍 :
近年来,人工智能的兴起是由在所有专业环境中无处不在的数字化现象推动的。这种数字化转型已由大多数大小公司发起,转型的主轴之一是数据的数字化。正是为此目的,开发了一种计算机视觉服务:光学字符识别 (OCR),通常称为 OCR。
OCR 的起源可以追溯到 1950 年代,当时 David Shepard 创立了智能机器研究公司 (IMRC),这是世界上第一家由私营公司运营的 OCR 系统供应商,用于将打印的信息转换为机器语言以供计算机处理。
今天不再需要为特定字体设计的系统。 OCR 服务是智能的,而 OCR 甚至是计算机视觉最重要的分支之一,更普遍的是人工智能。多亏了 OCR,可以从许多数字支持中获取文本文件:
-
PDF文件
-
PNG, JPG 图片包含文字
-
手写文件
将 OCR 用于手写文档、图像或 PDF 文档可以涉及所有领域和活动的公司。一些公司可能更需要 OCR 来进行手写字符识别,并结合自然语言处理 (NLP):文本分析。例如,银行业使用 OCR 来批准支票(详细信息、签名、姓名、金额等)或验证信用卡(卡号、姓名、到期日期等)。许多其他业务部门大量使用 OCR,例如健康(扫描患者记录)、警察(车牌识别)或海关(提取护照信息)等。
OCR 的工作原理: OCR 技术包括 3 个步骤:
-
图像预处理阶段,包括处理图像,使其可以被利用和优化以识别字符。预处理操作包括:重新对齐、去干扰、二值化、去线、分区、单词检测、脚本识别、分割、归一化等。
-
提取图像的统计属性。这是定位和识别图像中的字符及其结构的关键步骤。
-
后处理阶段,包括通过突出显示已识别字符序列的“边界框”(用于分隔图像中文本的矩形),将图像重新调整为分析之前的样子:

本文简要介绍了如何在 JavaScript 中使用 OCR。我们将在本文中看到有很多方法可以做到这一点,包括开源和云 API 引擎。
开源引擎是免费提供的,你经常可以在 github 上找到这些解决方案。您只需要下载库并直接从您的机器上使用这些引擎。相反,OCR 云引擎由 AI 提供商提供,他们向您出售可以通过其 API 处理的请求。他们可以使用许可模式(您支付与一定数量的请求相对应的每月订阅费用)或按使用付费模式(您只需为发送的请求付费)销售请求。
如何在开源和云引擎之间进行选择?
当您在寻找 OCR 引擎时,您需要问您的第一个问题是:我要选择哪种引擎?
当然,开源 OCR 引擎的主要优势在于它们是开源的。这意味着这是免费使用的,您可以按照自己的方式使用代码。它允许您潜在地修改源代码,对模型进行超参数化。此外,您不会遇到数据隐私问题,因为您必须使用自己的服务器托管引擎,这也意味着您需要设置、维护它并确保您有足够的计算能力来处理所有的请求。
另一方面,云 OCR 引擎正在付费,但 AI 提供商将为您处理服务器,维护和改进模型。在这种情况下,您必须接受您的数据将传输到提供商云。作为交换,提供商正在处理数百万个数据以提供高性能引擎。 OCR 提供商还拥有每秒可以支持数百万个请求而不会损失性能或速度的服务器。
既然您知道了开源和云引擎的优缺点,请考虑还有第三种选择:构建自己的 OCR 引擎。使用此选项,您可以根据自己的数据构建引擎,从而保证良好的性能。您还可以保护您的数据安全和私密。但是,您将面临托管引擎的相同限制。当然,只有当您的公司具备数据科学能力时,才可以考虑此选项。以下是关于何时在使用现有引擎(云或开源)和构建自己的引擎之间进行选择的摘要:u200d
开源 OCR 引擎:
有多个可用的开源 OCR 引擎,您可以在 github 上找到大部分。以下是最著名的:
Tesseract:
Tesseract 是用于 JavaScript 的光学字符识别 (OCR) 工具。也就是说,它将识别并“读取”图像中嵌入的文本。
它存在一个使 Tesseract 与 JavaScript 一起工作的包装器。 Tesseract 支持 unicode (UTF-8),并且可以“开箱即用”识别 100 多种语言。
Tesseract 支持各种输出格式:纯文本、hOCR (HTML)、PDF、纯文本不可见 PDF、TSV 和 ALTO。
docTR
docTR 是 Mindee 提供的端到端 OCR。它使用两阶段方法:文本检测(定位单词),然后是文本识别(识别单词中的所有字符)。因此,您可以从可用实现列表中选择用于文本检测的架构,以及用于文本识别的架构。
云 OCR 引擎:
市场上有许多云 OCR 引擎,您在选择合适的引擎时会遇到问题。以下是市场上最好的供应商:
-
Base64
-
Cloudmersive
-
OCR 空间
-
谷歌云视觉文本识别
-
亚马逊文摘
-
微软 Azure 计算机视觉 OCR
所有这些 OCR 提供商都可以为您的项目提供良好的性能。根据文档的语言、质量、格式和大小,所有这些提供商之间的最佳引擎可能会有所不同。知道选择哪个提供商的唯一方法是将性能与您自己的数据进行比较。
伊甸园 AI OCR API:
这就是 Eden AI 进入您的流程的地方。 Eden AI OCR API 允许您使用来自所有这些提供商的引擎,并提供独特的 API、独特的令牌和简单的 JavaScript 文档。
通过使用 Eden AI,您将能够将所有提供者与您的数据进行比较,随时更改提供者并同时调用多个提供者。您将为每个请求支付与直接订阅提供程序 API 相同的价格,并且您不会失去延迟性能。
以下是如何通过 Eden AI SDK 在 JavaScript 中使用 OCR 引擎:
如果你想调用另一个provider,你只需要改变参数“providers”的值。您可以在 Eden AI 文档中查看所有可用的提供程序。当然,您可以在同一个请求中调用多个提供者,以便比较或组合它们。
结论
正如您在本文中看到的,在 JavaScript 中使用 OCR 有很多选择。对于没有数据科学技能或想要快速简单地使用 OCR 引擎的开发人员,有许多可用的开源和云引擎。每个选项都有优点和缺点,您知道有线索可以为您选择最佳选项。
如果您选择云 OCR 引擎,您将需要一些帮助来根据您的数据找到最好的引擎。此外,OCR 提供商经常更新和训练他们的模型。这意味着您将来可能必须更改提供商的选择,以保持项目的最佳性能。使用 Eden AI,所有这些工作都得到了简化,您可以在不到 5 分钟的时间内用 JavaScript 设置 OCR 引擎,并随时切换到最好的提供者。
您可以在此处创建您的 Eden AI 帐户并获取您的 API 令牌以开始在 JavaScript 中实现 OCR 引擎!
更多推荐


所有评论(0)