今天学了下python的OCR识别,其中遇到好多坑,下面就一一阐述是如何破解的,本人用的是Windows 64位,IDE是VS2017。

  • pip版本过低。

首先安装pytesseract这个库,pip install tessract。由于自己输错了,tessract前少了py两个字母,安装没有成功,抛出一个pip版本过低的问题,我就将pip升级到最新版9.0.3,以前是9.0.1。

输入python -m pip install --upgrade pip后提示没有访问权限,这里我就用管理员模式进到python目录下更新,这样就成功了。

  • 找不到指定文件

在安装完pytessract后,还要去官网下载一个Tessract.exe文件安装配合使用。

出现这个错误,想了一会儿没找到原因,搜了一下有说把要识别的图片放到pytessract的安装库下,试了一下没成功,而且个人认为这不是问题所在,因为把Image.open()的路径已经指定了也不行。

另一个方法是:

pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Tesseract-OCR\tesseract'

试了一下,成功了。仔细一想瞬间就明白了:官方给的是pytessract和Tessract.exe配合使用(Windows系统下),那么IDE怎么知道你这个CMD在哪个文件下,所以在使用时要手动声明你的pytessract需要哪个CMD来执行识别的工作,文件路径就是你Tessract的安装路径里tessract.exe的路径。

最后说一点,Tessract这个识别率不高,4个字符识别出2个,还错一个。

     

pytesseract使用的坑的更多相关文章

  1. 关于在 mac上配置pytesseract的相关问题

    因为踩了两个小时坑 特别是在配置依赖tesseract-ORC识别库时候的问题 特别麻烦 一定要用brewhome 一定要用brewhome 一定要用brewhome 重要的事情说三遍. 刚开始我在网 ...

  2. 使用pytesseract识别验证码,报错WindowsError: [Error 2]

    问题现象: 按照网上的方式进行代码编写,使用pytesseract模块,然后导入指定图片进行解析,报错WindowsError: [Error 2] 问题原因: 源代码里面的路径设置错误,这里有一个坑 ...

  3. EasyTrader踩坑之旅总结

    ​ easytrader是用python写的可以调用主要券商完成自动化炒股的一个软件 ,但我用的是同花顺,在研究过程中,发现同花顺暂时调不通.后来搜索发现thstrade的源码作者说是easytrad ...

  4. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  5. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  6. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  7. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  8. 踩石行动:ViewPager无限轮播的坑

    2016-6-19 前言 View轮播效果在app中很常见,一想到左右滑动的效果就很容易想到使用ViewPager来实现.对于像我们常说的banner这样的效果,具备无限滑动的功能是可以用ViewPa ...

  9. 为C# as 类型转换及Assembly.LoadFrom埋坑!

    背景: 不久前,我发布了一个调试工具:发布:.NET开发人员必备的可视化调试工具(你值的拥有) 效果是这样的: 之后,有小部分用户反映,工具用不了(没反应或有异常)~~~ 然后,建议小部分用户换个电脑 ...

随机推荐

  1. nginx的日志配置

    本文转自:https://www.cnblogs.com/biglittleant/p/8979856.html 版权归属原作者!!!!!! nginx access日志配置 access_log日志 ...

  2. Less 编译生成 css

    开发模式下使用less.js <link rel="stylesheet/less" type="text/css" href="~/Conte ...

  3. 主机配置nginx后如何获取访问者IP

    he你早的时候写了一个根据访问者ip查询天气的小接口,那时候还没得买域名,没有搞nginx,测试自然没有问题,然后随着一个小工具一块上线了,今天突然发现我的小工具有好几个人在使用了,就想写一个记录访问 ...

  4. 二、JavaScript基础(1)

    1.JavaScript 基于对象和事件驱动的脚步语言,主要应用在客户端 特点:交互性(信息的动态交互).安全性(不可直接访问本地硬盘).跨平台性(只要可以解析js的浏览器 都可以执行,与平台无关) ...

  5. shell符号

    *:  通配符 *.c : c结尾的文件 *v : v结尾的文件 v* : v开头的文件

  6. 【转载】python抓取网页时候,判断网页编码格式

    在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取.但是在抓取过程中会遇到编码的问题, ...

  7. Installing Ruby 2.2 on Centos7

    准备做redis-cluster,需要ruby2.2环境 开整环境:Centos7.2最小安装yum源:阿里的base和epel源 ********************************** ...

  8. day21 二十一、垃圾回收机制、re正则

    一.内存管理 1.垃圾回收机制:不能被程序访问到的数据称之为垃圾 2.引用计数:引用计数是用来记录值的内存地址被记录的次数 每一次对值地址的引用都可以使该值的引用计数 +1 每一次对值地址的释放都可以 ...

  9. ELK之安装searchguard后默认管理员用户admin修改

    安装完elasticsearch之后会有一个默认的用户admin密码也为admin,该用户无法删除无法编辑修改密码,用于生产时安全性较差,需要修改默认密码或者删除该admin用户 使用工具生产加密密码 ...

  10. spark优化设置

    ->>>配置参数优化 SparkConf sc = new SparkConf().setAppName("com.sp.test.GroupTop3").set ...