这是我注册博客后写的第一篇博客,希望对有相关问题的朋友有帮助。

在图像识别前,首先我们要做好准备工作。

运行环境:windows7及以上版本

运行所需软件:(有基础的可以跳过这一段)eclipse,pydev,anaconda2,tesseract-ocr(图像识别引擎),pytesseract组件,PIL组件

操作:安装eclipse,在eclipse的help菜单栏中选择Eclipse Marketplace搜索pydev,安装pydev,下载anacondea2,下载安装tesseract(如果安装过程中有错请直接点跳过,因为那是选择的语言包无法下载的意思,因为这个软件的是国外公开的,相关资源的下载需要越狱)。

安装完上述软件后,在cmd即命令指示窗口中打开到anaconda2的Scripts下输入 pip install PIL,等安装好后再输入pip install pytesseract。

记得要在项目中添加上你要识别的英文图片(建议是像我给的这样的图片),名字随意吧,不过要记得改代码呦!图片展示:

接下来就是运行程序了以下是运行代码截图及结果。

这是识别的结果不过识别准确率非常差,而且目前只能识别英文,要识别中文的话需要相关语言包,具体如何操作我也不太懂(有用中文识别成功的朋友请不吝赐教)

上述是我在eclipse中运行的结果,当然不是直接运行代码就出来的了,是经历了一个历时极长且极度痛苦的纠错过程。

如果直接运行的结果是这样的,额,好吧调整过一次后不会再再出现那个错误了。

不过我大概还记得错误是这样的,

首先eclipse会报错在text=pytesseract.image_to_string(lena)这一行具体提示啥我忘了,

中间好像是提示pytesseract.py中某一行出错

最后显示win 2[error]就是这个错

我在查了多个网站后,找到了错误原因。具体操作是在pytesseract中修改

tesseract_cmd = 'tesseract.exe'中的tesseract.exe为tesseract在你本机上的路径载在前面加r如下图所示:
 # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
img_mode = 'RGB'

这样代码就能正常运行了。

其实也可以直接在tesseract中使用的

打开命令指示符

输入如下图所示的代码就行了,结果会在图片那一目录显示

然后桌面就会多一个result.txt来显示结果,如果有语言包且配置完备的朋友可以尝试一下用中文识别图片。个人提示一下如果是自己手敲代码的话看到-1要注意了很可能是-l(我是找的有点憔悴了)。

基于Eclipse下的python图像识别菜鸟版(利用pytesseract以及tesseract)的更多相关文章

  1. eclipse下的python环境安装

    添加python开发环境到eclipse:   点击help--install New Software 点击add,弹出新窗口: Name:填PyDev Location:填 http://pyde ...

  2. 转 ——eclipse下进行Python开发 环境配置

    python for eclipse插件安装1.下载python for eclipsepython for eclipse下载地址,如:org.python.pydev.feature-1.6.3. ...

  3. JETSON TK1 ~ 基于eclipse下开发ROS

    此文档是在PC端开发后移植到TK1,并非在TK1上安装eclipse 官方使用IDE开发的文档: http://wiki.ros.org/IDEs 一:安装eclipse 1.下载eclipse安装包 ...

  4. Centos7下安装python环境

    前言 centos7默认是装有pyhton的. #检查python版本 [root@oldboy_python ~ ::]#python -V Python 但是众所周知,python2版本到2020 ...

  5. Windows下安装Python及Eclipse中配置PyDev插件

    最近开始接触Python,鉴于之前安装Java的教训,决定这次边安装Python,边写下历程,供日后反复使用. 在Python官网http://www.python.org/下载Python版本,鉴于 ...

  6. [z]Windows 下基于 Eclipse 的可视化远程 Linux C/C++ 开发环境搭建

    http://blog.csdn.net/lostaway/article/details/8086056 1.简介 Windows 下远程 Linux 开发工具,比较著名的就是 WinGDB 和 M ...

  7. eclipse下python的selenium自动化环境的搭建

    前提:安装python,我用的2.7.8版本,并在环境变量path里设置;E:\Python1.解压setuptools(Python包管理工具),cmd到目录执行python setup.py in ...

  8. eclipse下配置安装ssm图文教程(web版)

    eclipse下配置安装ssm图文教程(web版) 一.安装所需jar包 1.1  mybatis安装包 可以进入GitHub的https://github.com/mybatis/mybatis-3 ...

  9. $Django 多表操作(增删改查,基于双下划线,对象的查询) 在Python脚本中调用Django环境

    在Python脚本中调用Django环境. import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTING ...

随机推荐

  1. Django 连接Mysql异常处理

    启动manage.py提示 连接数据库异常 django.db.utils.OperationalError: (2003, "Can't connect to MySQL server o ...

  2. 造成MySQL全表扫描的原因

    全表扫描是数据库搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止.通常在数据库中,对无索引的表进行查询一般称为全表扫描:然而有时候我们即便添加了索引,但当我们的SQL语句写的不合理的时候也 ...

  3. selenium测试报告(含通过率统计图和失败截图)

    前言: 介绍的是含饼状统计图及失败截图的测试报告文件. 原文地址:https://testerhome.com/topics/9984 此版本增加了如下功能 测试报告完全汉化,包括错误日志的中文处理 ...

  4. HDU1042 N!(大数问题,万进制)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1042 N! Time Limit: 10000/5000 MS (Java/Others)    M ...

  5. for 循环使用 enumerate 以及yield生成器简单例子

    >>>seq = ['one', 'two', 'three'] >>> for i, element in enumerate(seq): ... print i ...

  6. 学习JavaWeb aop两种配置方式

    aop aop:面向切面编程,它可以解决重复代码. aop有两种方式: 一..xml方式 1.在springmvc-servlet.xml中配置aop,应用bean文件: <!--aop配置-- ...

  7. 轻松构建 基于docker的 redis 集群

    下面跟着我来 一步一步构建redis 集群吧. 集群的目录结构见GitHub源码(文章末尾) 1,安装docker环境,根据自身的操作系统,google下即可. 2,我们在服务器上,搭建所需目录结构. ...

  8. PHP代码优化—array_push

    PHP中数组插入数据通常有这么几种: 定义的时候直接赋值 $arr = array('apple', 'banana'); 使用数组变量操作 $arr = array(); $arr[] = 'app ...

  9. mapreduce二次排序详解

    什么是二次排序 待排序的数据具有多个字段,首先对第一个字段排序,再对第一字段相同的行按照第二字段排序,第二次排序不破坏第一次排序的结果,这个过程就称为二次排序. 如何在mapreduce中实现二次排序 ...

  10. C语言中堆内存的开辟和释放与内存处理函数

    C语言动态分配内存,malloc的出现就是来弥补静态内存分配的缺点 比如说我们在定义数组的时候,数组的长度必须是一个常量,不能改变的值,假如我事先定义了数组,一旦业务需求发生改变,那么这个数组就不能再 ...