js文字识别OCR,由谷歌开源,支持任何语言Tesserac
Tesseract。js是一个JavaScript库,是由谷歌开源的一个库,是Tesseract的js版本。可以从图像中获取几乎任何语言的单词。包括:图像识别、视频实时识别。
Tesseract。js包装了TesseractOCR引擎的Webassembly端口。它在浏览器中使用webpack或带有CDN的纯脚本标签,并使用Node。js在服务器上工作。同时支持多种语言,例如:英语和繁体中文的engchitra支持的图像格式:png,jpg,bmp,pbm支持WebAssembly支持打字稿为支持的设备添加了支持SIMD的构建添加了旋转预处理选项(包括自动旋转),可显著提高精度现在可以检索处理后的图像(旋转、灰度、二进制)改进了对并行处理(调度程序)的支持createWorker是异步的getPDF功能被识别选项取代pdf支持多线程
以下是识别效果
识别前原图
识别结果使用方法安装
Tesseract。js通过本地副本或CDN使用标签,通过Node和在Node上使用webpack。js使用。
codepre
npm方式Forlatestversionnpminstalltesseract。jsyarnaddtesseract。jsForoldversionsnpminstalltesseract。js3。0。3yarnaddtesseract。js3。0。3安装后使用
方式1:importTesseractfromtesseract。js;Tesseract。recognize(https:tesseract。projectnaptha。comimgengbw。png,eng,{logger:mconsole。log(m)})。then(({data:{text}}){console。log(text);})
方式2:import{createWorker}fromtesseract。js;constworkerawaitcreateWorker({logger:mconsole。log(m)});(async(){awaitworker。loadLanguage(eng);awaitworker。initialize(eng);const{data:{text}}awaitworker。recognize(https:tesseract。projectnaptha。comimgengbw。png);console。log(text);awaitworker。terminate();})();
在浏览器环境中,只需提供API层。在内部,它会打开一个WebWorker来处理请求。该工作线程本身从Emscripten构建的代码加载代码,该代码本身托管在CDN上。然后,它会动态加载托管在另一个CDN上的语言文件。tesseract。jstesseract。jscore
因此,我们建议从CDN加载。但是,如果您确实需要将所有文件放在本地,则可以传递额外的参数来指定工作线程、语言和核心的自定义路径。tesseract。jsTesseractWorker
在Node。js环境中,您可能想要自定义的唯一路径是languageslangPath。Tesseract。recognize(image,langs,{workerPath:https:unpkg。comtesseract。jsv4。0。1distworker。min。js,langPath:https:tessdata。projectnaptha。com4。0。0,corePath:https:unpkg。comtesseract。jscorev4。0。1tesseractcore。wasm。js,})
或constworkerawaitcreateWorker({workerPath:https:unpkg。comtesseract。jsv4。0。1distworker。min。js,langPath:https:tessdata。projectnaptha。com4。0。0,corePath:https:unpkg。comtesseract。jscorev4。0。1tesseractcore。wasm。js,});