基于Eclipse下的python图像识别菜鸟版(利用pytesseract以及tesseract)
这是我注册博客后写的第一篇博客,希望对有相关问题的朋友有帮助。
在图像识别前,首先我们要做好准备工作。
运行环境: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)的更多相关文章
- eclipse下的python环境安装
添加python开发环境到eclipse: 点击help--install New Software 点击add,弹出新窗口: Name:填PyDev Location:填 http://pyde ...
- 转 ——eclipse下进行Python开发 环境配置
python for eclipse插件安装1.下载python for eclipsepython for eclipse下载地址,如:org.python.pydev.feature-1.6.3. ...
- JETSON TK1 ~ 基于eclipse下开发ROS
此文档是在PC端开发后移植到TK1,并非在TK1上安装eclipse 官方使用IDE开发的文档: http://wiki.ros.org/IDEs 一:安装eclipse 1.下载eclipse安装包 ...
- Centos7下安装python环境
前言 centos7默认是装有pyhton的. #检查python版本 [root@oldboy_python ~ ::]#python -V Python 但是众所周知,python2版本到2020 ...
- Windows下安装Python及Eclipse中配置PyDev插件
最近开始接触Python,鉴于之前安装Java的教训,决定这次边安装Python,边写下历程,供日后反复使用. 在Python官网http://www.python.org/下载Python版本,鉴于 ...
- [z]Windows 下基于 Eclipse 的可视化远程 Linux C/C++ 开发环境搭建
http://blog.csdn.net/lostaway/article/details/8086056 1.简介 Windows 下远程 Linux 开发工具,比较著名的就是 WinGDB 和 M ...
- eclipse下python的selenium自动化环境的搭建
前提:安装python,我用的2.7.8版本,并在环境变量path里设置;E:\Python1.解压setuptools(Python包管理工具),cmd到目录执行python setup.py in ...
- eclipse下配置安装ssm图文教程(web版)
eclipse下配置安装ssm图文教程(web版) 一.安装所需jar包 1.1 mybatis安装包 可以进入GitHub的https://github.com/mybatis/mybatis-3 ...
- $Django 多表操作(增删改查,基于双下划线,对象的查询) 在Python脚本中调用Django环境
在Python脚本中调用Django环境. import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTING ...
随机推荐
- Day7 Tomcat和servlet
web服务器 1) 什么是web服务器 硬件:性能强大的计算机(无显示屏) 操作系统: linux 软件:web服务器软件(将数据放置在服务器上就可以被外部访问) web应用程序 2) ...
- 豆瓣电影top250爬取并保存在MongoDB里
首先回顾一下MongoDB的基本操作: 数据库,集合,文档 db,show dbs,use 数据库名,drop 数据库 db.集合名.insert({}) db.集合名.update({条件},{$s ...
- ddt 测试用例UI运用
import xlrd from selenium import webdriver import ddt import time import unittest class Excel(object ...
- Android攻城狮学习笔记-进阶篇一
点击快速抵达: 第1章 AndroidManifest配置文件 第2章 使用ListView显示信息列表 第3章 使用DatePicker及TimePicker显示当前日期和时间 第4章 使用Grid ...
- HDU1047(多个大数相加)
Integer Inquiry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- SM30 客户端 有“不可修改”的状态
SM30维护自定义数据表时,遇到提示信息,有“不可修改”的状态,无法修改数据. 查询详细信息,有一条:客户端特定对象不能在此客户端中进行更改. 检查了一下自定表设置,发现自定义表之前创建时,Deliv ...
- jQuery----JQuery动画(hide()和show())(下)
本文是对hide()和show()的进一步补充,其中不仅介绍回调函数,还有递归的相关知识点. 案例要求: 点击”隐藏动画“按钮,四个头像从后向前,每个以0.8秒的速度消失 点击”显示动画“按钮,四个头 ...
- ubuntu终端下快捷键之--字体放大缩小
1.快捷键 Ctrl - 字体缩小 Ctrl + (有的电脑是“Ctrl Shift +” 三个按键同时按下)字体放大 Ctrl 0 恢复默认字体 2.终端设置默认字体 在终端下,点击右键- ...
- python 集合总结
''' 集合:1:他是无序的,他是不重复的. 2,他里面的元素必须是可哈希的. int str bool ()但是它本身是不可哈希的. 3,集合不能更改里面的元素. 4,集合可以求交集,并集,差集,反 ...
- 关于DE2-115 FPGA开发板无法烧写程序的解决方法
友晶科技推出的DE2-115 FPGA开发板,有时候莫名奇妙,无法烧写或者固化程序.利用JTAG 向DE2-115开发板烧写.sof文件失败,并提示以下错误,如图1和图2所示 图1 图2 解决方法:只 ...