前言
OCR 技术(Optical Character Recognition,光学字符识别)已经变得越来越成熟。Tesseract 是一个开源的 OCR 引擎,支持多种语言,同时也是 Google 的一个项目。在 Tesseract 的使用中,需要使用到其字库,而 @tessdata/chr 包提供了中文的字库文件。
本文将介绍如何使用 npm 包 @tessdata/chr,以便在 Tesseract 中成功识别中文字符。
步骤
安装 @tessdata/chr
要在 Tesseract 中使用中文 OCR,需要事先安装好需要的字库文件。 @tessdata/chr 这个npm包提供了中文汉字字库,所以我们可以直接使用该包从 npm 安装。
npm install @tessdata/chr
引入字库文件
安装完成后,需要在 Tesseract 的配置中配置字库文件地址,以能够成功加载字库。在以下示例代码中,我们使用 node-tessocr
这个库来在 node.js 中使用 Tesseract。
-- -------------------- ---- ------- -- ---- ----- ------- - ------------------------ ----- ---- - ---------------- -- --- --------- ----- ------- - --- --------- ----- ---------- ------------- -------------------- ----- ----------------------------- --- -- -------- ---------------------------------- - ------ ---- -------------- -- - ------------------------- ---
在上面的代码中,我们通过 path.join(__dirname, '..', 'node_modules/@tessdata/chr')
找到了字库文件的路径。我们在初始化 TessOcr
类时,将字库文件路径传递给了 tessdataPath
参数。
识别结果
在成功运行上述代码后,会输出图片中识别到的中文字符。示例中使用的图片如下:
运行结果如下:
协力创造未来
总结
安装并使用 npm 包 @tessdata/chr 使得实现中文 OCR 更加容易。请注意,Tesseract 字库只提供了基本的识别能力,并不能保证完全正确的识别结果。如需要更高的识别率,请使用商业 OCR 服务或和其他 OCR 引擎配合使用。
参考文献
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005624b81e8991b448df8c3