Nodejs中使用tesseract.js会报错

发布于 1周前 作者 gougou168 来自 nodejs/Nestjs

Nodejs中使用tesseract.js会报错

我根据官网上使用 tesseract.js 时会报错, 这个是我的代码

var Tesseract = require('tesseract.js');
Tesseract.recognize("1.jpg")
	.then(function(result){
        console.log(result)
    });
    

下面是报的错误

pre-main prep time: 64 ms
events.js:182
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT 75.126.150.210:80 at Object.exports._errnoException (util.js:1024:11) at exports._exceptionWithHostPort (util.js:1047:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1150:14)

求大神帮看一下是啥原因,万分感谢


8 回复

字面上看,连结网络错误,这是啥库呀


这个一个图像识别的库,我爬虫打算用和这个识别验证码,但是在官网上的代码在本地运行,就报这个错误

程序需要连的这个 ip 是墙外的么?如果是的,估计是因为开会

主要我现在是可以去墙外的,不过我访问不了这个 ip,估计是他们服务瘫了

js 这个库需要连接语言库之类的资源。

我还是建议你这种解析图片的工作在后台服务做吧,我用过它的 Python 版本,应该也会有 Java 版本吧。

感觉是.traineddata 文件的问题

爬虫? tesseract.js并不适合你要做的事情。
识别验证码的话推荐tesseract-ocr <a target="_blank" href="https://github.com/tesseract-ocr/tesseract" rel="nofollow noopener">https://github.com/tesseract-ocr/tesseract</a>。可以训练数据以识别自定义语言。Node,推荐<a target="_blank" href="https://github.com/desmondmorris/node-tesseract" rel="nofollow noopener">https://github.com/desmondmorris/node-tesseract</a>这个包。
demo 可以参考一下。<a target="_blank" href="https://github.com/hpufe/fsociety-hpu" rel="nofollow noopener">https://github.com/hpufe/fsociety-hpu</a>

在Node.js中使用tesseract.js(一个基于WebAssembly的OCR库)时遇到报错,通常可能由几个常见原因引起。以下是一些排查和解决问题的步骤,以及相关的代码示例:

  1. 确保正确安装: 首先,确保你已经正确安装了tesseract.js。你可以通过npm安装:

    npm install tesseract.js
    
  2. 检查Node.js版本tesseract.js依赖于WebAssembly,确保你的Node.js版本支持它(Node.js 8.x及以上)。

  3. 示例代码: 以下是一个简单的示例代码,展示如何在Node.js中使用tesseract.js

    const Tesseract = require('tesseract.js');
    
    Tesseract.recognize(
      'path/to/your/image.png',
      'eng',
      {
        logger: m => console.log(m)
      }
    ).then(({ data: { text } }) => {
      console.log(text);
    }).catch(err => {
      console.error('Error:', err);
    });
    
  4. 查看错误信息: 运行代码后,仔细查看控制台输出的错误信息。常见的错误可能包括文件路径错误、WebAssembly加载失败等。

  5. 依赖问题: 如果错误与WebAssembly相关,确保系统环境支持WebAssembly,并检查是否有任何安全软件或防火墙阻止了WebAssembly的执行。

如果上述步骤仍然无法解决问题,建议查看tesseract.js的GitHub仓库或相关社区,寻找是否有其他用户遇到并解决了类似的问题。

回到顶部