热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

该项目诞生于一次爬虫事件,当时一时兴起想把某租房网信息爬下来,前面进行的还是挺顺畅的,但是在租房价格

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

前言

该项目诞生于一次爬虫事件,当时一时兴起想把某租房网信息爬下来,前面进行的还是挺顺畅的,但是在租房价格信息上被摆了一道,房屋的价格信息为一个数字图片为底加上偏移量来显示的,和雪碧图一样的实现方式,当然,其中加上了一点小算法,具体如下。

  • 获取数字图片信息和 offset 信息

    • tesseract-OCR 图像识别插件 node-tesr 了解一下?
    • { "offset": [ [1, 4, 2, 8], [5, 1, 7, 8], [5, 1, 3, 8], ... ] }
  • 由 offset 信息加上一点算法得出 position 信息

    • (background-position: xxx px)
  • 以数字图片为背景,加上偏移, append 到价格信息他应该在地方

略一思索,倒也不是什么大事儿,只要加个识别的过程再辅以算法即可。

在实行图像识别的过程中借助到了 google 的开源软件 tesseract-OCR ,因为爬虫环境是 node ,遂写了一个适用于 tesseract-OCR 最新版本的 node 插件,后续还添加了命令行使用的功能。

演示

命令行使用 --- 1

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

命令行使用 --- 2

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

模块使用 --- 1

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

项目在这里

如果觉得我对你有帮助,不妨给我个 star 吧,蟹蟹~

github node-tesr

正文

命令行使用

想要使用图像识别首先要确保电脑中已经安装了 tesseract-OCR 点击下载 。

想要使用命令行建议全局安装

npm install node-tesr -g
tesr --from=./test/output.jpg --to=./output.txt

参数说明

--from 需要识别的图片路径(必须)
--to 若传入此参数会将识别的文字输出到该文件下(非必须,默认会将识别内容输出到命令行)
--l 识别语言,对中文稍微做了点处理,识别简体 --l=chs,识别繁体 --l=cht(非必须,默认为 eng)
--p 见 lib/config.js 里的说明(非必须,默认为 3 自动模式)
--o 见 lib/config.js 里的说明(非必须,默认为 3 自动模式)

模块引入使用

npm install node-tesr
const tesseract = 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 这个 node 插件

let images = require('images')
images(500, 100)
  .fill(0xff, 0xff, 0xff, 1)
  .draw(images('demo.png'), 10, 10)
  .save('output.jpg', {
    quality: 100
  })

将透明底填充为白底即可正常识别

如何提高我的图像识别准确率

老板!我的图像识别率很低怎么破!

来,看这里,这个可以提高图像识别率。

识别算法学习

待办

then

页脚

代码即人生,我甘之如饴。

我在这里 gayhub@jsjzh 欢迎大家来找我玩儿。

欢迎小伙伴们直接加我,拉你进群一起学习前端呀,记得备注一下你来自哪里哦。

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

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 我们


推荐阅读
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
author-avatar
mobiledu2502917185
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有