网上很多使用ecplise+phthon2.7中使用pytesser或者tesseract进行OCR网站验证码的案例,但配置起来实在让人崩溃。

通用步骤:
1、下载了pytesser_v0.0.1;

2、然后解压后拷贝到C:\ProgramData\Anaconda2\Lib\site-packages;

3、文件夹名字改为pytesser;

4、然后在C:\ProgramData\Anaconda2\Lib\site-packages文件夹下新建一个文件,起名为pytesser.pth,内容为pytesser

5、然后在C:\ProgramData\Anaconda2\Lib\site-packages\pytesser\pytesser.py文件中第六行,更改import Image  为 from PIL import Image;

6、然后在ecplice界面中写代码:

from PIL import Image
from pytesser import * im = Image.open('C:\\ProgramData\\Anaconda2\\Lib\\site-packages\\pytesser\\phototest.tif')
im.show()

没问题,图片顺利的打开了。

7、然后调用了下oCR的函数:

print image_to_string(im)

然后就无穷无尽的报错。

ecplice的错误提示还毫无帮助,只提示:

Traceback (most recent call last):
File "C:\Users\TF-2016\Desktop\spider\ruijie\ruijie.py", line 33, in <module>
print image_file_to_string('11.png', graceful_errors=True)
File "C:\Python27\lib\site-packages\pytesser\pytesser.py", line 48, in image_file_to_string
call_tesseract(filename, scratch_text_name_root)
File "C:\Python27\lib\site-packages\pytesser\pytesser.py", line 23, in call_tesseract
proc = subprocess.Popen(args)
File "C:\Python27\lib\subprocess.py", line 710, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2]

网上找了两个小时,很多人遇到这个问题,几乎没有解决的,最后发现有人说起了:http://blog.csdn.net/c465869935/article/details/51438576

  • qq_38717146

    2017-05-09 17:454楼

    1条回复 回复
  • 刚刚碰巧给解决了。找到你的pytesseract.py这个文件,将其中的tesseract_cmd = 'tesseract'这行改为tesseract_cmd = r'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'即可。

然后我决定下载一个最新版的tesseract 3.0.2版,不再依靠pytesseract自带的那个1.01版本了。

下载后安装,然后在pytesseract.py中把tesseract_exe_name = 'tesseract' # Name of executable to be called at command line  改为:

tesseract_exe_name = r'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe' #  'tesseract' Name of executable to be called at command line

然后运行,ok了,可以ocr英文和数字了。

但遗憾的是,中文库是谷歌的网址,下载不下来,如果能下载下来,很期待ocr中文的效果。

解决ecplise+phthon2.7中使用pytesser和tesseract进行ocr,出现报错的问题的更多相关文章

  1. Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法

    转: Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法  更新时间:2018年02月14日 17:13:03   投稿:wdc   我要评论   Java开发中 ...

  2. MO拆分计划行程序中写入PRODUCTIONORDERS表数据出现重复导致报错(BUG)20180502

    错误提示:ORA-00001: 违反唯一约束条件 (ABPPMGR.C0248833319_6192)ORA-06512: 在 "STG.FP_MO_SPLIT", line 19 ...

  3. Eclipse中Tomcat Server启动后马上又自动停止报错Address已经使用8005端口 Can't assign requested address (Bind failed)

    Eclipse中Tomcat Server启动后马上又自动停止报错 Can't assign requested address (Bind failed) ,打开Tomcat Server的配置页面 ...

  4. python2 + selenium + eclipse 中,通过django生产数据库表的时候报错

    python2 + selenium + eclipse 中,通过django生产数据库表的时候报错 解决: 1.查看自己电脑中,“开始-->控制面板-->管理工具-->服务--&g ...

  5. laravel中ubuntu下执行php artisan migrate总是报错

    ubuntu14.0 + xampp + laravel5下 laravel中ubuntu下执行php artisan migrate总是报错: [PDOException] could not fi ...

  6. 擦他丫的,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了!

    擦 ,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了! 问题在于我使用的谷歌浏览器,默认使用了缓存,导致每次访问同一个url时,都返回的是缓存里面的东西.通过谷歌 ...

  7. Maven编译中使用${env}与直接启动tomcat会报错的问题处理

    Maven编译中使用${env}与直接启动tomcat会报错的问题处理 在Run/Debug Configurations中,设置 Before lauch:Build, Build Artifact ...

  8. 解决:oracle+myBatis ResultMap 类型为 map 时返回结果中存在 timestamp 时使用 jackson 转 json 报错

    前言:最近在做一个通用查询单表的组件,所以 sql 的写法就是 select *,然后 resultType="map" ,然后使用 jackson @ResponseBody 返 ...

  9. 在angular项目中使用bootstrap的tooltip插件时,报错Property 'tooltip' does no t exist on type 'JQuery<HTMLElement>的解决方法和过程

    在angular4的项目中需要使用bootstrap的tooltip插件. 1. 使用命令安装jQuery和bootstrap npm install bootstrap jquery --save ...

随机推荐

  1. 什么是Docker—无服务器计算服务

    什么是Docker https://mp.weixin.qq.com/s?__biz=MzU0Mzk1OTU2Mg==&mid=2247483881&idx=1&sn=aa27 ...

  2. Hexo+GitHub+Netlify一站式搭建属于自己的博客网站

    喜欢的话请关注我的个人博客我在马路边https://hhongwen.cn/,此文为博主原创,转载请标明出处. 更好的阅读体验请点击查看:Hexo+GitHub+Netlify一站式搭建属于自己的博客 ...

  3. Nginx——Nginx概述(一)

    1.什么是Nginx? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上n ...

  4. css 样式常用属性

    一般的一个DIV的CSS设置属性有:margin,padding,width,height,font-size,text-align,background,float,border 附:< cs ...

  5. PEP

    用python ,  PEP难以绕过.  PEP是什么?   Python Enhancement Proposals , 它集合了python的改进提案. 它不是版本递进的, 有些PEP是应该去读一 ...

  6. 自定义元素(custom elements)

    记录下自定义html自定义元素的相关心得: 浏览器将自定义元素保留在 DOM 之中,但不会任何语义.除此之外,自定义元素与标准元素都一致 事实上,浏览器提供了一个HTMLUnknownElement, ...

  7. 在64位的UBUBTU 服务器 ***

    前言: 安装/重装系统,U盘启动盘不稳定,建议使用USB-CDROM启动 如果是重装系统,要记录好硬盘的信息和职能: fdisk -l lsblk blkid /etc/fstab mkfs.ext3 ...

  8. Spring Cloud 服务网关Zuul

    Spring Cloud 服务网关Zuul 服务网关是分布式架构中不可缺少的组成部分,是外部网络和内部服务之间的屏障,例如权限控制之类的逻辑应该在这里实现,而不是放在每个服务单元. Spring Cl ...

  9. Linux:数据库服务(Mysql安装及链接、远程链接、genelog)

    yum  search  +  服务:查询服务是否存在: yum  remove  +  服务:卸载服务: 使用 service 操作服务时,服务的名称后要加上字符 d,如启动:service  my ...

  10. Nodejs之express第三方核心模块的中间件——body-parser

    Node中的核心模块分两类:一类是自带的核心模块,如http.tcp等,第二类是第三方核心模块,express就是与http对应的第三方核心模块,用于处理http请求.express在3.0版本中自带 ...