基于浏览器的 OCR,无需后端服务,支持 100 多种语言,支持视频识别

职场   其他   2024-10-12 11:28   福建  
今天给大家介绍一个有意思的开源项目 Tesseract.js,它是一个基于网页的 OCR 引擎,可以在浏览器和 Node.js 环境中运行。

Tesseract.js 是一个基于浏览器的 OCR(光学字符识别)库,它可以从图片中提取文本。该库使用 WebAssembly 来运行 Tesseract OCR 引擎,允许在前端 JavaScript 环境中进行图像文字识别,无需依赖后端服务器处理。Tesseract.js 支持多种语言,具有良好的扩展性和易于使用的 API。

主要功能:

  1. 跨平台支持:在浏览器和 Node.js 中都可以运行,方便在前端应用中直接使用 OCR。

  2. 多语言识别:支持包括中文、英语、法语等在内的 100 多种语言的文本识别。

  3. 异步处理:提供 Promise 和回调的异步 API,可以轻松处理长时间的图像处理任务。

  4. 图片预处理:支持对图像进行一些预处理操作(如灰度化、二值化等),提高识别准确率。

  5. 进度反馈:提供识别进度信息,使用户能够看到处理的实时状态。

Tesseract.js 开源地址:https://github.com/naptha/tesseract.js

在线测试地址:https://tesseract.projectnaptha.com/

图像识别:

视频实时识别:

英文测试效果:

中文测试效果:

俄语测试:


安装

方法 1:npm 或 yarn

需要 Node.js v14 或更高版本。

安装最新版本:

npm install tesseract.jsyarn add tesseract.js

安装指定版本:

npm install tesseract.js@3.0.3yarn add tesseract.js@3.0.3

方法 2:使用 CDN 库

tesseract.js 可以在本地浏览器直接使用,所以我们可以使用本地库或第三方 CDN 库来使用:

<script src="https://cdn.jsdelivr.net/npm/tesseract.js@5/dist/tesseract.min.js"></script>

另外,可以使用 ESM 构建(用于 import 语法)在以下链接找到:

https://cdn.jsdelivr.net/npm/tesseract.js@5/dist/tesseract.esm.min.js

安装完成后,我们就可以开始测试使用了:

import Tesseract from 'tesseract.js';
Tesseract.recognize( 'path_to_image.jpg', // 要识别的图像路径或 URL 'eng', // 语言代码,'eng' 代表英语 { logger: m => console.log(m) // 用于输出识别进度 }).then(({ data: { text } }) => { console.log(text); // 输出识别出的文本});

这个开源项目虽然识别率有待提高,但好处就是直接在前端浏览器中执行,无需后台服务,对一些特定场景还是非常有用的,比如应用于简单的验证码识别,帮助用户自动填写。






菜鸟教程
学的不仅是技术,更是梦想!
 最新文章