介绍一个纯前端实现的图片文字识别OCR

1,150 阅读2分钟

听起来貌似有点不可思议,但是确实存在一个库可以支持这个功能。他就是 tesseract.js

核心实现其实是使用的C++实现的,但是作者将C++代码转化为了Javascript代码。核心库叫tesseract.js-core。核心的C++代码在third_party文件夹中。

我们知道怎么用就行了,具体底层原理需要了解OCR技术。

这个项目现在是 Project Naptha 是谷歌浏览器的一个插件。由此我们知道,现在这个项目大概率是由谷歌来继续维护。

介绍几个OCR工具

1.Tesseract

Tesseract是一款由Google维护的开源OCR引擎,开源、免费、支持多语言、多平台。它可以处理很多类型的图像,并且还支持多种字体和文本布局。

2.Tesseract.js

Tesseract.js是一个JavaScript版本的Tesseract OCR,支持100多种语言,使用也非常简单,可以使用npm安装,也可以直接在页面中引用js。因为是基于JavaScript运行,因此无需进行任何额外的配置。

3.PaddleOCR

PaddleOCR是百度开源的一套OCR库,旨在打造一套丰富、领先、实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。PaddleOCR包括文本检测模型和文本识别模型两个部分,支持多种语言和复杂情况下的文字识别。

4.EasyOCR

EasyOCR是基于Tesseract OCR引擎的OCR识别库,用于图像识别输出文本,目前支持80多种语言。此外,EasyOCR还具有更好的文本排列和字检测准确度,并且易于使用和快速部署。

5.MMOCR

MMOCR是基于PyTorch和MMDetection的开源工具箱,专注于文本检测、文本识别以及相应的下游任务,如关键信息提取。它在各种场景下都具有出色的性能,可以满足复杂场景下的OCR需求。

6.simple-ocr-opencv

simple-ocr-opencv是基于OpenCV和Numpy的OCR识别引擎。它提供了一种简单但可靠的方法来处理常见的OCR任务,可以轻松地集成到您的Python工程中。

7.OCRmyPDF

OCRmyPDF是基于Tesseract-OCR开发、训练的文字识别提取的开源项目。它可以将扫描或图像文件中的文本转换为可编辑的PDF文档。

8.Umi-OCR

Umi-OCR是基于PaddleOCR实现的一款开源的文字识别工具。它可以快速为您生成高质量的OCR模型,并提供简单易用的API,支持多种语言和文件格式。它特别适用于需要进行自定义训练的OCR应用程序。