介绍
@tessdata/osd 是一个 npm 包,用于文字检测和识别。它基于开源 OCR 引擎 Tesseract,并提供了预训练的模型,可用于检测和识别多种文字语言。适用于前端应用,可以通过 node.js 或浏览器的方式使用。
安装
通过 npm 安装:
npm install @tessdata/osd --save
使用
要使用 @tessdata/osd 进行文字识别,需要将图像转换为 base64 格式。
在 node.js 环境中使用:
const osd = require('@tessdata/osd'); const fs = require('fs'); const imgB64 = fs.readFileSync('path/to/image.png', { encoding: 'base64' }); osd.recognize(imgB64, 'eng') // eng 表示英文语言 .then((text) => console.log(text)) .catch((err) => console.error(err));
在浏览器环境中使用:
<script src="path/to/osd.js"></script> <script> const imgB64 = '...'; // 图像的 base64 编码 osd.recognize(imgB64, 'eng') // eng 表示英文语言 .then((text) => console.log(text)) .catch((err) => console.error(err)); </script>
支持的语言
@tessdata/osd 支持许多语言的文字检测和识别,包括英语、中文、日语、法语、德语等等。语言代码列表如下:
- eng: 英语
- chi_sim: 中文简体
- chi_tra: 中文繁体
- jpn: 日语
- fra: 法语
- deu: 德语
- spa: 西班牙语
- por: 葡萄牙语
- afr: 南非荷兰语
- ara: 阿拉伯语
- baq: 巴斯克语
- bel: 白俄罗斯语
- ben: 孟加拉语
- bul: 保加利亚语
- cat: 加泰罗尼亚语
- ces: 捷克语
- dan: 丹麦语
- deu_old_frantz: 旧法兰西德语
- ell: 希腊语
- eng_scriptc_simple: 英语手写体简体
- eng_scriptc_tra: 英语手写体繁体
- epo: 世界语
- est: 爱沙尼亚语
- fin: 芬兰语
- fra_old: 旧法语
- frm: 中古法语
- glg: 加利西亚语
- grc: 古希腊语
- heb: 希伯来语
- hin: 印地语
- hrv: 克罗地亚语
- hun: 匈牙利语
- ind: 印度尼西亚语
- ita: 意大利语
- ita_old: 旧意大利语
- kan: 卡纳达语
- kor: 朝鲜语
- lav: 拉脱维亚语
- mal: 马拉雅拉姆语
- mkd: 马其顿语
- mlt: 马耳他语
- nld: 荷兰语
- nor: 挪威语
- ori: 奥里亚语
- pan: 旁遮普语
- pol: 波兰语
- pus: 普什图语
- ron: 罗马尼亚语
- rus: 俄语
- slk: 斯洛伐克语
- slv: 斯洛文尼亚语
- srp: 塞尔维亚语
- swe: 瑞典语
- tam: 泰米尔语
- tel: 泰卢固语
- tgl: 菲律宾语
- tha: 泰语
- tur: 土耳其语
- ukr: 乌克兰语
- vie: 越南语
示例代码
下面的示例代码展示了如何将图片转换为 base64 编码,并进行英文文字识别:
-- -------------------- ---- ------- --------- ----- ------ ------ ----- ---------------- ---------- ------------ ------- ------ ------- --------- ------ ------ ----------- ---------------- ---------------------------------- ---- ---- ---------- ------------------------------------------ ---- ------- ------------- ------------------------------------------ ------- ------- ---------------------------------------------------------- -------- -------- ---------------------- - ----- ---- - ---------------------- ----- ------ - --- ------------- ------------- - --------------- - ----- --- - --------------------------------- ------- - -------------------- -- --------------------------- - -------- ------------- - ----- --- - --------------------------------- ----- ------ - --------------------------------- ------------ - ---------- ------------- - ----------- ----- --- - ------------------------ ------------------ -- -- ------------- --------------- ----- ------ - ------------------------------------------------------------------------ ---- --------------------- ------ -- --- ------ ------------ -- ------------ ------------ -- -------------------- - --------- ------- -------
在浏览器中打开该页面,选择一张图片并点击 Recognize 按钮,即可进行英文文字识别。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005625881e8991b448df964