python3识别图中的文字_Python3.x:如何识别图片上的文字

Python3.x:如何识别图片上的文字

安装pytesseract库,必须先安装其依赖的PIL及tesseract-ocr,其中PIL为图像处理库,而后面的tesseract-ocr则为google的ocr识别引擎;

其中PIL可以用pillow来替代;

一、安装识别引擎tesseract-ocr

这里需要注意这一段话:Currently, there is no official Windows installer for newer versions.意思就是官方不提供最新版windows平台安装包,只有相对略老的3.02.02版本,其下载地址:https://sourceforge.net/projects/tesseract-ocr-alt/files/。

python3识别图中的文字_Python3.x:如何识别图片上的文字_第1张图片

环境变量配置(path):D:\Program Files (x86)\Tesseract-OCR

设置环境变量:TESSDATA_PREFIX=D:\Program Files (x86)\Tesseract-OCR\tessdata

打开DOS界面,输入tesseract,如下图则标示安装成功:

测试识别功能:

切换到图片的目录:cd \d E:\pydevworkspaces,然后输入tesseract tttt.png result(识别tttt.png结果写入result.txt文件中,输出文件在同级目录下):

python3识别图中的文字_Python3.x:如何识别图片上的文字_第2张图片

tttt.png图片内容:

python3识别图中的文字_Python3.x:如何识别图片上的文字_第3张图片

result.txt文件内容:

python3识别图中的文字_Python3.x:如何识别图片上的文字_第4张图片

识别率貌似不高,第三个数字就识别出错了;

“tesseract OCR 训练样本” --可以提高识别率;

说明安装成功;

tesseract语法:

tesseract code.jpg result -l chi_sim -psm 7 nobatch

-l chi_sim 表示用简体中文字库(需要下载中文字库文件,解压后,存放到tessdata目录下去,字库文件扩展名为 .raineddata 简体中文字库文件名为: chi_sim.traineddata)

-psm 7 表示告诉tesseract code.jpg图片是一行文本 这个参数可以减少识别错误率. 默认为 3

configfile 参数值为tessdata\configs 和 tessdata\tessconfigs 目录下的文件名

二、安装第三方库(pytesseract、pillow)

#pytesseract安装

pip install pytesseract

#Pillow 安装

pip install pillow

注意: 修改 pytesseract 的路径。

(1)路径:D:\Python36\Lib\site-packages\pytesseract\pytesseract.py

(2)修改内容:tesseract_cmd = 'D:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

三、实例代码

# python3

# author lizm

# datetime 2018-01-26 12:00:00

'''

Demo:pytesseract解析图片上的文字

'''

import pytesseract

from PIL import Image

# 指定路径

# pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-ORC/tesseract'

image = Image.open('tttt.png')

code = pytesseract.image_to_string(image)

print(code)

四、识别中文

1,增加中文库:chi_sim.traineddata

2,将中文库拷贝到:D:\Program Files (x86)\Tesseract-OCR\tessdata目录下

3,代码示例:

# python3

# author lizm

# datetime 2018-09-21 12:00:00

'''

Demo:pytesseract解析图片上的中文文字

'''

import pytesseract

from PIL import Image

code = pytesseract.image_to_string(Image.open('8.jpg'),lang='chi_sim')

print(code)

注意:chi_sim.traineddata必须和安装的tessdata的版本一致,才能生效。

如何大批量的识别图片上的文字,批量图片文字识别OCR软件系统

软件不需要安装,直接双击打开就可以用,废话不多说直接上图好了,方便说明问题 批量图片OCR(批量名片识别.批量照片识别等)识别,然后就下来研究了一下,下面是成果 使用步骤:打开单个图片识别,导入文件夹 ...

如何去除图片上的文字(PS使用教程)

很多时候由于工作的需要,需要对我们的图片进行修改,修改的同时还想要保存我们的图片背景,所以很多人就不知道怎么弄了,小编跟大家分享一下使用PS如何简单的去掉图片上的文字,希望对大家有所帮助! 方法/步骤 ...

C#图像处理(1):在图片上加文字和改变文字的方向

C#在图片上加文字,代码如下: /// /// 图片上方加文字,文字将会被180度反转 /// ///

c#实现识别图片上的验证码数字

这篇文章主要介绍了c#实现识别图片上的验证码数字的方法,本文给大家汇总了2种方法,有需要的小伙伴可以参考下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...

C#实现图片叠加,图片上嵌入文字,文字生成图片的方法

///     /// 图片叠加     ///     ///

python 图片上添加文字

import PIL from PIL import ImageFont from PIL import Image from PIL import ImageDraw #设置字体,如果没有,也可以不 ...

使用Qpaint在图片上写文字

开发过程中需要实现在图片上叠加文字,可以采用Qpaint在图片上写文字,然后将图片显示在上面.再将Qlabel加到Qwidget中.效果如下 //创建对象,加载图片 QPixmap pix; pix. ...

函数putText()在图片上写文字

#include #include using namespace std; using namespace c ...

把图片上的文字转换成word文字?

转换后的文字不是很如意,但是免费方便. 1.打开Office办公软件自带的OneNote工具.随便新建一个笔记页面,以方便我们接下来的操作. 2.插入图片.在菜单栏里点击[插入],选择插入[图片],找 ...

随机推荐

业务安全通用解决方案——WAF数据风控

业务安全通用解决方案——WAF数据风控 作者:南浔@阿里云安全 “你们安全不要阻碍业务发展”.“这个安全策略降低用户体验,影响转化率”——这是甲方企业安全部门经常听到合作团队抱怨.但安全从业者加入公司 ...

java删除文件夹

想删除本地一个项目目录,结果windows说路径太长,不能删除.于是试了试java删除.一切ok.以后一定要抓紧时间学python. /** * Created by rmiao on 4/21/20 ...

关于Entity Framework使用的简单例子

一.创建Code First模型 1.创建工程,这里我使用的是以.NET 4.0为目标的实体Web应用程序 2.安装Entity Framework 确保已安装NuGet,选择NuGet套件管理员&g ...

stm32 IAP + APP ==>;双剑合一(转)

源:http://blog.csdn.net/yx_l128125/article/details/13591743 (扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级 ...

DOCKER 从入门到放弃(一)

前言 关于docker的各种概念已有各位大神珠玉在前,请各位自行查看,本系列的目的是各种详细操作步骤 各种概念特别推荐CloudMan的3篇blog: http://www.cnblogs.com/C ...

获取android项目的数据库地址或者数据库名

你不需要知道该路径.只是使用数据库,你可以将它们删除的列表. for (String databaseName : context.databaseList()) { context.deleteDa ...

1.1、Libgdx目标和特性

Libgdx是一个通过统一的API工作在所有支持平台(Windows,Linux,Mac OS X,Android,黑莓,HTML/WebGL)的一个Java游戏开发框架. 框架提供了一个快速原型和快 ...

02_python是一种什么语言?

python是一种什么语言? 1.低级语言与高级语言 最初的计算机程序都是用0和1的序列表示的,程序员直接使用的是机器指令,无需翻译,从纸带打孔输入即可执行得到结果.后来为了方便记忆,就将用0.1序列 ...

CGI 和 FastCGI 协议的运行原理

目录 介绍 深入CGI协议 CGI的运行原理 CGI协议的缺陷 深入FastCGI协议 FastCGI协议运行原理 为什么是 FastCGI 而非 CGI 协议 CGI 与 FastCGI 架构 再看 ...

windows上python上传下载文件到linux服务器指定路径【转】

从windows上传文件到linux,目录下的文件夹自动创建 #!/usr/bin/env python # coding: utf-8 import paramiko import datetime ...

你可能感兴趣的:(python3识别图中的文字)