今天学了下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. PGP NO_PUBKEY

    horizon@horizon-pc ~ $ sudo apt-get update Ign http://packages.linuxmint.com rebecca/upstream Transl ...

  2. codeforces 1106 E

    显然是dp啊,dp[i][j]表示到时间i打扰了j次的最小收益 显然要排序,官方题解说set没看懂,优先队列就行啊. 按照时间排序,显然这样扫的话可以保证当前时间点的点在优先队列里吧, 然后有打断和不 ...

  3. Hudson持续集成服务器的安装配置与使用

    Hudson只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集成管理平台, 还需要用到前面课程中所讲到的 SVN.Maven.Sonar等工具,按需求整合则可. 1.安装  JDK并配置 ...

  4. js中 函数声明/函数表达式/匿名函数/箭头函数/立即执行函数

    函数声明: function add(a, b) { // ... } 1.顾名思义,声明一个函数, 用关键字 “function” 来告诉,这是一个函数. 2.任何地方,想用就可以拿过来使用 函数表 ...

  5. php数组函数大全

    一.数组操作的基本函数 数组的键名和值 array_values($arr);获得数组的值 array_keys($arr);获得数组的键名 array_flip($arr);数组中的值与键名互换(如 ...

  6. 微信原始坐标转换成百度坐标 lat lng

    如有帮到你记得结合我这篇博客里的方法.... http://www.cnblogs.com/zc290987034/p/8294988.html {:wx_jssdk_config("fal ...

  7. Java8 新特性之流式数据处理

    一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现.比如我们希望对一个包含整数的 ...

  8. bootstrap-treeview 中文开发手册

    官方文档URL:  https://www.npmjs.com/package/bootstrap-treeview 2017年11月21日10:45:10 演示:http://www.htmleaf ...

  9. bat杂记 cmd

    强制复制覆盖 copy f:\temp1.txt f:\temp2.txt /y 删除 del f:\temp1.txt 删除任务aa1 schtasks /Delete /TN aa1 /F cmd ...

  10. [daily]在dark theme下,启动wps的方法

    dark之后,wps的字体变成了灰白的 这样启动 env GTK2_RC_FILES=/usr/share/themes/Breeze/gtk-2.0/gtkrc /usr/bin/et -style ...