本机运行环境:

  Win 10 version 1709;

  Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32

  在Windows10下,首先需要下载tesseract,它为tesserocr提供底层支持。具体下载官方路径:https://github.com/UB-Mannheim/tesseract/wiki,选择对应的系统版本,可以选择一个相对不带dev的稳定版本下载,如:tesseract-ocr-setup-3.05.02-20180621.exe,

然后一路安装,唯一记得勾选Additional language data(download),勾选可能会用到的语言tessdata,如简体、繁体中文,数学模块等,不需要全选,下载tessdata的时间会比较长。

我们在PowerShell下使用pip3 install tesserocr pillow 命令安装 tesserocr时通常会报错:“error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools",这个时候不宜直接去下载Microsoft Visual C++ Build Tools,而是使用原始的whl文件方式安装。tesserocr 的whl官方文件下载路径:https://github.com/simonflueckiger/tesserocr-windows_build/releases,

再次在powershell下安装:使用cd跳转到whl文件所在目录,然后 执行 ”pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl“,即可轻松完成安装。

紧接着用例子验证如何使用:我们找到一个验证码图片:image.jpg,下载到本地磁盘,用代码进行验证:

 import tesserocr
from PIL import Image
image=Image.open('image.jpg')
print(tesserocr.image_to_text(image))

不出意外,首次运行总是不顺利,相信我遇到的坑大多数人都会遇到,大抵错误类似:

Traceback (most recent call last):
  File "c:\Users\NewJune\test.py", line 4, in <module>
    print(tesserocr.image_to_text(image))
  File "tesserocr.pyx", line 2400, in tesserocr._tesserocr.image_to_text
RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\Python36\

不难看出 tesserocr.py文件没有指定正确的tessdata 路径,本人的python也并非安装在C:\Python36\,网上看到的方法都是添加D:\Program Files\Tesseract-OCR这个到系统环境变量,依然不成功,目前本人没找到如何修改tesserocr.py关联的tessdata path有效方式,但是比较简单粗暴的方法是,可以根据提示,直接手工新建C:\Python36\,并将D:\Program Files\Tesseract-OCR对应的tessdata文件夹整个拷贝到C:\Python36\即可。亲测有效。

再次在vscode下运行程序,直接可以输出”7364“,与验证码内容一致。

最新文章

  1. 用SQL语句创建四个表并完成相关题目-10月18日更新
  2. 项目构建工具Gradle的使用入门(参考,只表明地址)
  3. Java中数字操作
  4. Android中全局Application的onCreate多次调用问题
  5. iOS 多线程学习笔记 —— NSOperation
  6. VS2010编译libjpeg
  7. window系统查看端口被哪个进程占用
  8. SpringBoot中出现的错误
  9. 如何在VS2017中使用快捷键格式化代码?
  10. python 使用 thrift 教程
  11. Angular2+ 实现组件交互的众多方式
  12. java kafka 生产者消费者demo
  13. outlook使用笔记
  14. native和webview切换
  15. [转载]windows下安装Python虚拟环境virtualenv,virtualenvwrapper-win
  16. java Integer.valueOf 和 Integer.parseInt 和 new Integer区别及注意事项
  17. 归并排序 递归and非递归
  18. iOS 相册相机应用2
  19. POJ3087:Shuffle&#39;m Up(模拟)
  20. 【Docker】基于docker+etcd+confd + haproxy构建高可用、自发现的web服务

热门文章

  1. Asp.Net任务Task和线程Thread
  2. golang字符串拼接
  3. [Java并发编程(五)] Java volatile 的实现原理
  4. C++ 非常量引用无效
  5. 程序员自己编写的类和JDK类是一种合作关系。
  6. Python连接Mssql
  7. 第一篇:你不一定了解的&quot;推荐系统&quot;
  8. 编译lua动态库
  9. css背景图撑开盒子高度
  10. ASP.NET MVC+HighCharts开发统计图表