首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tesseract无法加载任何语言(节点tesseract.js)

Tesseract无法加载任何语言(节点tesseract.js)
EN

Stack Overflow用户
提问于 2018-01-14 02:14:33
回答 2查看 4.1K关注 0票数 3

我运行了npm install tesseract.js,现在我尝试运行以下代码:

代码语言:javascript
复制
const Tesseract = require('tesseract.js');

const filename = 'Screen Shot 2018-01-13 at 16.51.06.png';

Tesseract.recognize(filename)
.progress(p => {
  console.log('progress', p)
}).catch(err =>
  console.error(err)
).then(result => {
  console.log(result.text);
  process.exit(0);
});

非常简单,Screen Shot 2018-01-13 at 16.51.06.png是同一目录中文本的图像。

该代码输出:

代码语言:javascript
复制
progress { status: 'loading tesseract core' }
progress { status: 'loaded tesseract core' }
progress { status: 'initializing tesseract', progress: 0 }
pre-main prep time: 54 ms
progress { status: 'initializing tesseract', progress: 1 }
progress { status: 'loading eng.traineddata', progress: 0 }
progress { status: 'loading eng.traineddata', progress: 1 }
progress { status: 'initializing api', progress: 0 }
Failed loading language 'eng'
Tesseract couldn't load any languages!
progress { status: 'initializing api', progress: 0.3 }
progress { status: 'initializing api', progress: 0.6 }
progress { status: 'initializing api', progress: 1 }
progress { status: 'recognizing text', progress: 0 }
AdaptedTemplates != NULL:Error:Assert failed:in file ../classify/adaptmatch.cpp, line 190

/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:4
function f(a){throw a;}var h=void 0,i=!0,j=null,k=!1;function aa(){return function(){}}function ba(a){return function(){return a}}var n,Module;Module||(Module=eval("(function() { try { return TesseractCore || {} } catch(e) { return {} } })()"));var ca={},da;for(da in Module)Module.hasOwnProperty(da)&&(ca[da]=Module[da]);var ea=i,fa=!ea&&i;
              ^
abort() at Error
    at Na (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:32:26)
    at Object.ka [as abort] (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:507:108)
    at _abort (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:373:173)
    at $L (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:383:55709)
    at jpa (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:388:22274)
    at lT (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:387:80568)
    at mT (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:387:80700)
    at Array.BS (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:387:69011)
    at bP (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:383:110121)
    at jT (/Users/George/Documents/Projects/ssm-bot/node_modules/tesseract.js-core/index.js:387:80280)
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.

作为比较,下面是常规的tesseract命令(安装在home-brew中):

代码语言:javascript
复制
$ tesseract 'Screen Shot 2018-01-13 at 16.51.06.png' stdout
Warning. Invalid resolution 0 dpi. Using 70 instead.
Do you like anyone?

Um, I have a bf

Delivered

Ohh haha

怎样才能让tesseract.js工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-21 22:16:05

引用GitHub

通过从这里下载我需要的语言的经过培训的语言数据,我就能够做到这一点。解压缩文件并将其放在解决方案中的某个位置。那么,向Tesseract发出的电话将类似于下面的内容。您可能希望保存对create返回内容的引用,因为加载该文件需要一些时间。 tesseractPromise = tesseract.create({ langPath:"eng.traineddata“}).recognize(imagePath,'eng');

eng.traineddata必须进入根文件夹,或与调用节点脚本相同的目录。

票数 3
EN

Stack Overflow用户

发布于 2022-10-28 09:36:38

您需要从应用程序的根目录中删除eng.traineddata并重新启动应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48246108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档