Tesseract.js:强大的开源图片文字识别库
技术简介 在当今数字化的世界中,图片文字识别技术发挥着越来越重要的作用。Tesseract.js是一个开源的JavaScript库,为开发者提供了一种便捷的方式来识别图像中的文本信息。
Tesseract最初是在1985年至1994年间在英国布里斯托尔的惠普实验室和美国科罗拉多州格里利的惠普公司开发的,1996年进行了一些更改以移植到Windows,并在1998年进行了一些C++化。2005年,Tesseract被惠普开源。从2006年到2018年11月,它由Google开发。目前的稳定主版本是2021年11月30日发布的5.0.0。
Tesseract.js基于Tesseract-OCR引擎,经过优化和调整,使其在网页和服务器上运行更加流畅。该库支持100多种语言、自动文本方向和脚本检测,以及用于读取段落、单词和字符边界框的简单界面。这个库能够让开发者在无需任何额外依赖的情况下,轻松实现各类文字识别应用,如车牌识别、表单识别等,从而为各种业务场景带来更多可能性。tesseract.js提供了免费在线体验址。大家可以点开这里(https://tesseract.projectnaptha.com)直接体验。因为是公网地址,请注意信息安全。
使用经验 安装说明
安装Tesseract需要node.js版本大于等于14,安装方式是通过npm来进行安装的。
npm i tesseract.js
代码示例
/**
- 引入tesseract.js中的createWorker方法。
- 创建一个提取方法方便我们的调用。
- 因为createWorker方法是一个异步函数,为了保证代码的运行需要使用async await来控制。
- 在创建createWorker时需要给它一个参数,也就是指定提取文字的语言。
- 给recognize提供一个图片地址,并将返回值输出。
*/
const { createWorker } = require('tesseract.js')
async function Text(src) {
const worker = await createWorker('eng');
const ret = await worker.recognize(src);
console.log(ret.data.text); await worker.terminate(); }
Text('https://www.boaocloud.com/wp-content/uploads/2024/01/英文图片.png')
多语言设置
// 在使用的过程中会存在图片内有多种语言的情况,tesseract.js提供了多语言选择的方法。
// 在创建createWorker时传递语言类型,我们通过加号来连接多种语言类型(’chi_sim+eng’)。
const { createWorker } = require('tesseract.js')
async function Text(src) {
const worker = await createWorker('chi_sim+eng');
const ret = await
worker.recognize(src);
console.log(ret.data.text); await worker.terminate();
}
Text(‘https://www.boaocloud.com/wp-content/uploads/2024/01/中英文图片.png’)
相关链接 github仓库地址 (https://github.com/tesseract-ocr/tesseract) 官方文档地址 (https://tesseract-ocr.github.io/tessdoc/Home.html) 免费体验地址 (https://tesseract.projectnaptha.com)