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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 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(

随机推荐