likes
comments
collection
share

tesseract.js 实现多语言的文字识别

作者站长头像
站长
· 阅读数 18

简介

Tesseract.js 是一个 JavaScript 库,可以从图像中获取文字。

OCR 光学字符识别

optical character recognition

官网地址

tesseract.projectnaptha.com/

Github地址

github.com/naptha/tess…

安装

npm install tesseract.js --save

我的node版本是 v12.16.2

安装的 tesseract.js 版本是

"tesseract.js": "^4.1.1"

引入

import Tesseract from 'tesseract.js';

使用Tesseract.js执行OCR

tesseract.js 实现多语言的文字识别

先看一下官网的例子

使用 Tesseract.js 执行OCR

Tesseract.recognize(
    "https://tesseract.projectnaptha.com/img/eng_bw.png", // 识别图片
    "eng",
    { logger: (info) => console.log(info) } // 可选参数,用于输出调试信息
).then(({ data: { text } }) => {
    console.log("OCR结果");
    console.log(text);
})
    .catch((error) => {
    console.error("OCR出现错误:", error);
});

tesseract.projectnaptha.com/img/eng_bw.…

官网给出的英文图片链接。

图片很清晰,文字也很整齐。

tesseract.js 实现多语言的文字识别

控制台打印,识别出来的文字:

Mild Splendour of the various-vested Night!
Mother of wildly-working visions! haill
I watch thy gliding, while with watery light
Thy weak eye glimmers through a fleecy veil;
And when thou lovest thy pale orb to shroud
Behind the gather’d blackness lost on high;
And when thou dartest from the wind-rent cloud
Thy placid lightning o’er the awaken’d sky.

识别度挺高,可以说是 100% 的准确率。

谷歌翻译一下,这段话的意思:

温和灿烂的各种归属之夜!
疯狂工作的幻象之母!
欢呼吧,我看着你滑翔,而你微弱的眼睛透过蓬松的面纱闪闪发光;
当你喜欢你苍白的球体笼罩在高处消失的聚集的黑暗之后;
当你从风中腾空而起时,你平静的闪电划过苏醒的天空。

我又谷歌了一下,这是英国诗人柯尔律治的《To the Autumnal Moon》致秋月。

我自己写一个 demo 上传图片,进行识别,测试一下。

tesseract.js 实现多语言的文字识别

那么,如何识别英文呢?选择中文语言包,即可。

语言包地址

tesseract-ocr.github.io/tessdoc/Dat…

设置识别语言为英文 eng

你可以根据需要更改为其他语言代码,例如中文为 chi_sim

多语言识别,通过 + 连接,例如中英文识别为 "eng+chi_sim"

然后,我自己写一个 demo 上传中文图片,进行中文识别,测试一下。

tesseract.js 实现多语言的文字识别 纯文字识别,居然还错了一个字。

再试一个合同文件,Tesseract.js 识别率,在纯文字,排版规则的情况下,还行。

tesseract.js 实现多语言的文字识别

李清照的《如梦令》图片加文字

tesseract.js 实现多语言的文字识别

结果,惨不忍睹。好好的一首诗,成了这样:

《 如 梦 仁 》

李 清 照

昨 夜 雨 差 风 骤 , 浓 睡 不 消 残 酒 。

试 问 卷 宜 人 , 即 道 海 棠 侯 旧 。

知 否 ? 知 吾 ? 应 是 绶 肥 红 瘦 。

几乎让人忘记了原版。附上原版:

《如梦令》

李 清 照

昨夜雨疏风骤,浓睡不消残酒。

试问卷帘人,却道海棠依旧。

知否,知否?应是绿肥红瘦。

最后的话

以上,如果对你有用的话,不妨点赞收藏关注一下,谢谢 🙏

😊 微信公众号: OrzR3

💖 不定期更新一些技术类,生活类,读书类的文章。