所需模块

①安装PIL:pip install Pillow(之前的博客中有写过)

②安装pytesser3:pip install pytesser3

③安装pytesseract:pip install pytesseract

④安装autopy3:

先安装wheel:pip install wheel

下载autopy3-0.51.1-cp36-cp36m-win_amd64.whl【点击打开链接】

执行命令:pip install E:\360安全浏览器下载\autopy3-0.51.1-cp36-cp36m-win_amd64.whl

##使用pip install autopy3时会报错如下:

④安装Tesseract-OCR:百度直接搜索Tesseract-OCR下载即可,Windows环境安装tesseract-ocr 4.00并配置环境变量

64位的安装包http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe

简体字识别包:https://raw.githubusercontent.com/tesseract-ocr/tessdata/4.00/chi_sim.traineddata

这里要说明的是安装Tesseract-OCR后,其不会被默认添加至环境变量path中,已导致如下报错:

解决办法有两种:(先找到Tesseract-OCR安装文件夹,再找到tesseract.exe文件)

我这里的绝对路径是:D:\python\Tesseract-OCR\tesseract.exe,环境变量路径则是:D:\python\Tesseract-OCR

①将此路径添加至环境变量path中(不过我是这么做的,但是PyCharm仍旧报错)

②找到pytesseract.py文件

我这里是C:\Users\admin\AppData\Local\Programs\Python\Python36\Lib\site-packages\pytesseract\pytesseract.py

将文件中的tesseract_cmd修改为上方的绝对路径

打开命令终端,输入:tesseract -v,可以看到版本信息

实例演示

进入正题,如何识别图像中文字

上原图:(这句是海上钢琴师中的一句经典台词)

接下来我们要通过python的pytesseract来识别图片中的字符了

#   _*_ coding:utf-8 _*_

import pytesseract
from PIL import Image __author__ = 'admin' im = Image.open(r'C:\Users\admin\Desktop\example.png')
print(pytesseract.image_to_string(im))

如果报错:

则修改代码如下:

import pytesseract
from PIL import Image tessdata_dir_config = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
im = Image.open(r'./tupian.png') print(pytesseract.image_to_string(im, config=tessdata_dir_config))

如果要显示中文:

from PIL import Image
import pytesseract
text = pytesseract.image_to_string(Image.open('./XLF5G7F6SHFCO4G0.jpg'),lang='chi_sim')
print(text)

结束

图像_pytesseract的更多相关文章

  1. C#中如何调整图像大小

    在本篇文章中,我将介绍如何在C#中来调整你想要的图像大小.要实现这一目标,我们可以采取以下几个步骤: 1.首先要获取你想要调整大小的图像: string path = Server.MapPath(& ...

  2. 基于window7+caffe实现图像艺术风格转换style-transfer

    这个是在去年微博里面非常流行的,在git_hub上的代码是https://github.com/fzliu/style-transfer 比如这是梵高的画 这是你自己的照片 然后你想生成这样 怎么实现 ...

  3. 超全面的.NET GDI+图形图像编程教程

    本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了 ...

  4. git图像化界面GUI的使用

    GIT学习笔记 一.        基础内容 1.git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支. 2.windows下的git叫msysgit,下载 ...

  5. CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能

    CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能 效果图 这是红宝书里的例子,在这个例子中,下述功能全部登场,因此这个例子可作为使用Compute Shader的典型 ...

  6. 【.net深呼吸】WPF异步加载大批量图像

    如何在WPF中加载大批量数据,并且不会阻塞UI线程,尤其是加载大量图片时,这活儿一直是很多朋友都相当关注的.世上没有最完美的解决之道,咱们但求相对较优的方案. 经过一些试验和对比,老周找到了一种算是不 ...

  7. 了解HTML图像

    img <img>表示image图像,从技术上讲,<img>标签并不会在网页中插入图像,而是从网页上链接图像.<img> 标签创建的是被引用图像的占位空间. [必须 ...

  8. 四种比较简单的图像显著性区域特征提取方法原理及实现-----> AC/HC/LC/FT。

    laviewpbt  2014.8.4 编辑 Email:laviewpbt@sina.com   QQ:33184777 最近闲来蛋痛,看了一些显著性检测的文章,只是简单的看看,并没有深入的研究,以 ...

  9. 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

    一.序言   陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...

随机推荐

  1. 将数据挂载到 docker 容器中的3种方式:volume、bind mount、tmpfs

    出处:https://deepzz.com/post/the-docker-volumes-basic.html

  2. GoJS 在 vue 项目中的使用

    GoJS 在 html vue 项目中的使用,github地址:https://github.com/cag2050/gojs_demo GoJS 在 vue-cli 2.x 项目中的使用,githu ...

  3. Executor与ExecutorService

    ExecutorService 接口继承了 Executor 接口,是 Executor 的子接口. Executor 接口定义了 execute()方法用来接收一个Runnable接口的对象,而 E ...

  4. Java 反射基础

    1.反射概念: Java运行时,动态获得类的信息以及动态调用对象的方法的功能. 在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时调 ...

  5. MySQL状态变量详解

    MySQL状态变量详解 mysql的状态变量(status variables)记录的mysql服务器的运行状态信息.查看语法如下: SHOW [GLOBAL | SESSION] STATUS; S ...

  6. Mibew Messenger (also known as Open Web Messenger)

    Mibew Messenger (also known as Open Web Messenger) is an open-source live support application writte ...

  7. mysql5.7 主从同步

    一:进行bin-log日志配置 1设置bin-log日志 [mysqld] log-bin=//路径  #<===红色的加粗的省去 server-id = 1    #主库 2.检查配置登录数据 ...

  8. URL中传递参数给视图函数

    1. 采用在url中使用变量的方式: 在path的第一个参数中,使用<参数名>的方式可以传递参数.然后在视图函数中也要写一个参数,视图函数中的参数必须和url中的参数名称保持一致,不然就找 ...

  9. java.lang.NoSuchMethodError: javax.wsdl.xml.WSDLReader.readWSDL

    CXF调用web service报错:java.lang.NoSuchMethodError: javax.wsdl.xml.WSDLReader.readWSDL 原因,wsdl jar报冲突,系统 ...

  10. vue中绑定多个class,多个情况使用同一个class时,用js的或 “||”

    class中 当依赖中断的时候是绑定的red,但是这样写绑定不了, 大括号{}里可以下js代码的,下面的orange就可以绑定成功,写成双竖线 形式.