当前位置: 首页 > 后端技术 > Node.js

tesseract-OCR图像识别插件node-tesr了解一下?

时间:2023-04-03 21:17:03 Node.js

前言本项目诞生于一次爬虫事件。当时心血来潮想把某个租房网站的信息爬下来。之前的进展还算顺利,但是放在了出租价格信息上,房子的价格信息就是一个数字。图片以偏移量为基础显示,实现方式与Sprite图片相同。当然在里面加了一个小算法,如下。通过偏移获取数字图像信息和偏移信息{"offset":[[1,4,2,8],[5,1,7,8],[5,1,3,8],...]}对信息加一点算法,得到以数码图片为背景的位置信息(background-position:xxxpx),加上偏移量,追加到价格信息上。他应该稍微考虑一下,不过也没什么大不了的,只要加上识别过程就可以辅以算法。在实现图像识别的过程中,使用了谷歌的开源软件tesseract-OCR。因为爬虫环境是node,所以写了一个适合最新版tesseract-OCR的node插件,后面增加了命令行功能。演示命令行使用---1命令行使用---2模块使用---1项目如果觉得我对你有帮助,不妨给个star,蟹蟹~githubnode-tesr文本命令行使用如果要使用图像识别,首先要确保你的电脑上已经安装了tesseract-OCR。点击下载。如果要使用命令行,建议全局安装npminstallnode-tesr-gtesr--from=./test/output.jpg--to=./output.txt参数说明--fromImagepathtoberecognized(required)--to如果传入该参数,则将识别出的文本输出到文件中(非必须,默认将识别出的内容输出到命令行)--l识别语言,做一点对中文的处理,识别简体--l=chs,识别繁体中文--l=cht(不需要,默认为eng)--p看lib/config.js中的说明(不需要,默认为3automaticmodes)--o见Note中的lib/config.js(非必须,默认为3自动模式)模块导入使用npminstallnode-tesrconsttesseract=require('node-tesr')tesseract('./output.jpg',{l:'eng',oem:3,psm:3},function(err,data){//这里获取识别内容console.log(data)})//或者下面也可以使用tesseract('./output.jpg',function(err,data){//这里获取识别内容console.log(data)})经过测试,效果还是不错的,但是有一点要注意,上面提到的网站的数字图片是透明的,测试发现tesseract-OCR透明底似乎没有解决办法。这时候需要结合images节点插件letimages=require('images')images(500,100).fill(0xff,0xff,0xff,1).draw(images('demo.png'),10,10).save('output.jpg',{quality:100})用白底填充透明底可以正常识别如何提高我的图片识别准确率大佬!我的图像识别率很低,怎么破!来,看这里,这样可以提高图像识别率。识别算法LearningToDo增加网址和图片识别功能。使用then来处理回调。页脚代码就是生命,我乐在其中。我在这里gayhub@jsjzh欢迎大家来和我一起玩。欢迎小伙伴直接加我,拉你进群一起学习前端,记得备注你来自哪里。

猜你喜欢