Python3.6使用tesseract-ocr的正确方法
Tesseract介绍
tesseract是一个挺不错的OCR引擎,目前的问题是最新的中文资料相对较少,过时、不准确的信息偏多。
tesseract是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码可以在这里下载。
实际使用tesseract ocr也有两种方式:1. 动态库方式 libtesseract 2. 执行程序方式 tesseract.exe
环境
- Python 3.6.3
- pip 9.0.1
- tesseract-ocr-setup-3.05.00dev.exe
- Windows10
安装
1.tesseract-orc
- Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。
安装的时候需要自行选择安装的语言,一些其他国家的语言可以不选择安装,我之按安装了中文,英文和日语。安装过程和其他软件一样。
2.pytesseract
pip install pytesseract
配置环境
1.设置 tesseract-orc路径
默认情况下tesseract-orc是不被添加到系统的path路径的,这样在使用的时候发生FileNotFoundError: [WinError 2]
系统找不到指定的文件错误。
解决方法:
- 方法1:将 C:\Program Files (x86)\Tesseract-OCR添加到系统路径(路径因安装过程而异)
- 方法2:修改pytesseract.py文件
设置训练集的位置
下载的默认训练集也没有添加到系统路径,会报错
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\tessdata/chi_sim.traineddata')
解决方法:
设置环境变量 TESSDATA_PREFIX
C:\Program Files (x86)\Tesseract-OCR\tessdata
实例程序
import pytesseract from PIL import Image image = Image.open('test.png') code = pytesseract.image_to_string(image) print(code)
更多参考:https://pypi.python.org/pypi/pytesseract
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
python使用Tesseract库识别验证
一.Tesseract简介 Tesseract是一个OCR库(OCR是英文Optical Character Recognition的缩写),它用来对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程,Tesseract是目前公认最优秀,识别相对精准的OCR库. 二.Tesseract的使用 1.下载并安装Tesseract:点击下载 2.在Windows系统下设置环境变量: #根据下载安装文件的路径配置环境变量 set TESSDATA_PREFIX F:\Tesserac
-
Python实现基于PIL和tesseract的验证码识别功能示例
本文实例讲述了Python实现基于PIL和tesseract的验证码识别功能.分享给大家供大家参考,具体如下: 之前搞这个搞了一段时间,后面遇到了点小麻烦,导致识别率太低了,最多也就百分之20的样子.心灰意冷,弃了一段时间.上次在论坛看到一篇大牛的关于PIL对图片各种处理各种算法的博突然又想起了这个,又随便搞了下,大大提高了识别率啊.先给代码: 原图: im = Image.open("C:\Users\Administrator\Desktop\python\\3.png") #调色
-
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
最近的答题赢钱很火爆,我也参与了几次,有些题目确实很难答,但是10秒钟的时间根本不够百度的,所以写了个辅助挂,这样可以出现题目时自动百度,这个时间也就花掉2秒钟,剩下的7.8秒钟可以进行分析和作答,提升了赢钱概率. 源码可以见我的github:点击链接 原理分析下:使用adb命令,抓取手机视频播放的界面,然后通过python的截取和ocr,获得到题目和答案, 然后百度得到结果.这个环境怎么搭建,有需要的童鞋可以联系我,因为使用本地的ocr所以解析不花钱,也没有使用的限制. github上的代码中
-
Perl使用Tesseract-OCR实现验证码识别教程
一.Tesseract-OCR 是什么 An OCR Engine that was developed at HP Labs between 1985 and 1995- and now at Google 基于Leptonica(http://leptonica.com/)图形处理库开的开源图形识别引擎. 支持Linux.Windows.Mac平台, 支持.NET.C++.Python.Java等开发语言:https://code.google.com/p/tesseract-ocr/wik
-
图片识别工具Tesseract初探
一.框架介绍 Tesseract 是一款图片识别工具,可以抓取图片中的文字,可以支持多种语言(默认是英语),需要下载开源文件可以在github上下载,如果知识应用不想太多深究直接在google code里边搜索下载即可. 二.Tesseract内容 Doc:说明文档 Tessdata:存放各种文字库(chi_sim.traineddata:中文 等) Tessseract.exe 即可以启动文件开始调用Tesseract 可以通过cmd方式调用,先cd到对应的目录,然后 输入 tesserac
-
python下调用pytesseract识别某网站验证码的实现方法
一.pytesseract介绍 1.pytesseract说明 pytesseract最新版本0.1.6,网址:https://pypi.python.org/pypi/pytesseract Python-tesseract is a wrapper for google's Tesseract-OCR ( http://code.google.com/p/tesseract-ocr/ ). It is also useful as a stand-alone invocation scrip
-
Java OCR tesseract 图像智能文字字符识别技术实例代码
接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码实现的,下面给大家分享下Java实现的例子. 拿代码扫描上面的图片,然后输出结果.主要思想就是利用Java调用系统任务. 下面是核心代码: package com.zhy.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.i
-
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
本文介绍了Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录,分享给大家,具体如下: Python 2.7 IDE Pycharm 5.0.3 Firefox浏览器:47.0.1 Selenium PIL Pytesser Tesseract 扯淡 我相信每个脚本都有自己的故事,我这个脚本来源于自己GRD教务系统,每次进行登录时,即使我输入全部正确,第一次登录一定是登不上去的!我不知道设计人员什么想法?难道是为了反爬机制?你以为一次登不上,我tm就不爬了?我
-
Python3.6使用tesseract-ocr的正确方法
Tesseract介绍 tesseract是一个挺不错的OCR引擎,目前的问题是最新的中文资料相对较少,过时.不准确的信息偏多. tesseract是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码可以在这里下载. 实际使用tesseract ocr也有两种方式:1. 动态库方式 libtesseract 2. 执行程序方式 tesseract.exe 环境 Python 3.6.3 pip
-
python3 实现函数写文件路径的正确方法
比如我们要读取一个桌面路径下的文件 设计 一个函数 怎么写才能正确? 注意以下两点就可以了 1.对于一个路径 例如C:\Users\xiaoming\Desktop\aa.txt 这里有个\符号 我们知道这个是转义符,我们再之前要加一个r''就可以停止转义 r'C:\Users\xiaoming\Desktop\aa.txt' 2.就是函数引用时候 参数不加r'' ,而在最后输入的时候再加入r'' 下面一个小例子: # 1 定义一个函数func(filename) filename:为文件名,用
-
C#使用Tesseract进行Ocr识别的方法实现
目录 1.Nuget搜索Tesseract 2.项目安装Tesseract 3.引用命名空间 4.上Github下载别人的训练库 5.选择图片进行识别 1.Nuget搜索Tesseract 2.项目安装Tesseract 3.引用命名空间 using Tesseract; 4.上Github下载别人的训练库 https://github.com/tesseract-ocr/tessdata 这里下载中文的chi_sim.traineddata,放到了D盘根目录 5.选择图片进行识别 我把图片命名
-
Oracle删除archivelog文件的正确方法
Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间. 问题:如何定期正确删除archivelog文件呢? 很多人直接在archive目录下删除文件,这样其实不能达到在Oracle CLF文件中删除文件记录的效果. 正确方法: 1.用RMAN连接目标DB:在命令行界面输入以下命令 RMAN target sys/*@orcl** 2.在RMAN命令窗口中,输入如下命令: crosschec
-
判断JavaScript对象是否可用的最正确方法分析
原文:http://www.quirksmode.org/js/support.html原文作者:Peter-Paul Koch 以下为对原文的翻译: 判断对象存在的方法 很快你就会注意到,JavaScript的部分功能在部分浏览器中无效.如果你要使用一些脚本的高级特性,你首先要检查浏览器是否支持要使用的对象,本文具体说明判断的正确方法. 通过判断浏览器的版本:不! 如果你想知道浏览器是否支持代码中使用的那些对象,记住,永远都不要通过浏览器的版本来判断.我确定你知道,有些浏览器支持你的代码,而有
-
Python3.X 线程中信号量的使用方法示例
前言 最近在学习python,发现了解线程信号量的基础知识,对深入理解python的线程会大有帮助.所以本文将给大家介绍Python3.X线程中信号量的使用方法,下面话不多说,来一起看看详细的介绍: 方法示例 线程中,信号量主要是用来维持有限的资源,使得在一定时间使用该资源的线程只有指定的数量 # -*- coding:utf-8 -*- """ Created by FizLin on 2017/07/23/-下午10:59 mail: https://github.com
-
Python3使用requests发闪存的方法
requests是一个python 轻量的http客户端库,相比python的标准库要优雅很多.接下来通过本文给大家介绍Python3使用requests发闪存的方法,一起学习吧. 使用以下命令安装requests 复制代码 代码如下: pip install requests 抓包工具中看到的http头和cookies会多很多项,其中一些是可以省略掉的.比如我省略掉了Content-Length. import requests url='http://ing.cnblogs.com/ajax
-
Python3处理文件中每个词的方法
本文实例讲述了Python3处理文件中每个词的方法.分享给大家供大家参考.具体实现方法如下: ''''' Created on Dec 21, 2012 处理文件中的每个词 @author: liury_lab ''' import codecs the_file = codecs.open('d:/text.txt', 'rU', 'UTF-8') for line in the_file: for word in line.split(): print(word, end = "|"
-
同时安装Python2 & Python3 cmd下版本自由选择的方法
系统:win7 python2.7,python3.6同时安装,于是问题来了,python27与python36文件夹下的文件名都是python.exe 这样在cmd下,直接输入python,自动执行python27 搜索了网上的解决方案,大多是将两个python.exe改名,分别改为python2,python3加以区别 但是这样会造成很多问题,比如运行IDLE时,python27会自动重建一个python.exe文件...也就是说之前改了也白改 最后找到一个合理的解决方案:使用python自
-
Python3 XML 获取雅虎天气的实现方法
参考廖雪峰的Python教程,实现Linux Python3获取雅虎天气 #!/usr/bin/env python3 # coding: utf-8 import os from datetime import datetime from urllib import request from xml.parsers.expat import ParserCreate file_name = "weather.txt" for root, dirs, files in os.walk(
随机推荐
- javascript验证只能输入数字和一个小数点示例
- 使用正则表达式判断是否为手机号码(简单且实用)
- ASP.NET中MD5与SHA1加密的几种方法
- 如何用变量实现群聊和悄悄话?
- js调用Flex中的方法并向flex中传参及flex调用js示例
- mysql心得分享:存储过程
- 安装Oracle加载数据库错误areasQueries的解决
- JavaScript中的迭代器和生成器详解
- Android GridView实现滚动到指定位置的方法
- php操作mysqli(示例代码)
- Android利用BitMap获得图片像素数据的方法
- C++中的Lambda表达式详解
- android基于ListView和CheckBox实现多选和全选记录的功能
- 浅谈js中子页面父页面方法 变量相互调用
- Node.js的特点和应用场景介绍
- 简单实现js上传文件功能
- 不错的一篇用记事本去除掉迅雷5广告方法
- js字符串去重复id的实现代码
- Linux下重新启动Tomcat的步骤详解
- 使用 js+正则表达式为关键词添加链接