python提取图片中的文字

python提取图片中的文字

  • 准备工作
  • 原图片
  • 完整代码
  • 结果预览

OCR,全称Optical character recognition,中文译名叫做光学文字识别。它把图像中的字符,转换为机器编码的文本的一种方法。OCR技术在印刷行业应用得非常多,也广泛用于识别图片中的文字数据 – 比如护照,支票,银行声明,收据,统计表单,邮件等。

pytesseract,即Python-tesseract,是Google Tesseract ORC引擎的封装。首次于2014年提出,支持的图片格式有’JPEG’, ‘PNG’, ‘PBM’, ‘PGM’, ‘PPM’, ‘TIFF’, ‘BMP’, ‘GIF’,只需要简短的代码就能够提取图片中的字符合文字了,极大方便文字工作。

准备工作

1,安装pillow或者PIL,主要用来打开本地图片

pip install PIL
pip install pillow

2,安装pytesseract,主要用来将图片里面文字转化字符串或者pdf

pip install pytesseract

3,安装 Tesseract-OCR应用程序
进入 https://pan.baidu.com/s/1qXumxdltxOnb0geaE_1U-Q下载安装

4,修改 pytesseract 源码中的路径
进入D:\Anaconda3\Lib\site-packages\pytesseract,用Notepad++打开pytesseract.py,将源码第26行的路径修改成安装Tesseract-OCR应用程序路径。

源码

tesseract_cmd = 'tesseract.exe'

修改成

tesseract_cmd = r'D:\Program Files\Tesseract-OCR\tesseract.exe'

5,安装中文字库
进入https://pan.baidu.com/s/1GfspC5uef73B2Oa8YudBgQ,下载中文库复制到 Tesseract-OCR 安装目录下的 tessdata 文件夹中

赋值中文字库

原图片

原图片

完整代码

from PIL import Image
import pytesseractimage = Image.open("粉丝.jpg") #打开图片
#print(image.size) #测试图片像素尺寸
text = pytesseract.image_to_string(image, lang='chi_sim') #图片转字符串
text = text.replace("“ ","").replace("。","") #去掉杂质,提纯
print(text) #测试结果

结果预览

关 注 我 的 人共 634 位
排 行 榜 用 户 分 析   
1 上 海 13321.0%   
2 邵 阳 6410.1%8
3 北 京 345.4%
4  广 州 193.0%
5 深 圳 182.8%
6 武 汉 162.5%
7 阜 阳 132.1%
8 长 沙 121.9%
9 成 都 11.7%
10 南 京 11.7%
人 重 庆 101.6%
12 苏 州 91.4%
13 杭 州 81.3%
14 西 安 60.9%
15 滩 坊 60.9%
16 美 国 50.8%
17 合 肥 50.8%
18 宁 波 50.8%
19 徐 州 50.8%
20 厦 门 40.6%
21 十 堰 40.6%
22 绍 兴 40.6%
23 哈 尔 滨 40.6%
24 石 家 庄 40.6%
25 沈 阳 4 人 【
26 济 南 40.6%
27 江 门 30.5%
28 洛 阳 30.5%
29 焦 作 30.5%
30 安 阳 30.5%
31 郁 州 30.5%
32 东 菀 30.5%
33 尾 明 30.5%
34 中 山 30.5%
35 长 春 30.5%
36 济 宁 30.5%
37 株 洲 30.5%
38 呼 和 浩 特 30.5%
39 贵 阳 30.5%
40 铜 仁 30.5%
41 长 治 30.5%
42 泰 安 20.3%
43 怀 化 20.3%
44 崴 州 20.3%
45 濮 阳 20.3%
46 聊 城 20.3%
47 邢 台 20.3%
48 烟 台 20.3%
49 湖 南 省 20.3%
50 保 定 20.3%
51 岳 阳 20.3%
52 常 德 20.3%
53 永 州 20.3%
54 天 津 20.3%
55 广 东 省 20.3%
56 秦 皇 峤 20.3%
57 湛 江 20.3%
58 揭 阳 20.3%
59 南 宁 20.3%
60 贺 州 20.3%
61 兰 州 20.3%
62 巴 音 郭 楼 20.3%
63 加 拿 大 20.3%
64 忻 州 20.3%
65 无 锡 20.3%
66 温 州 20.3%
67 芳 湖 20.3%
68 临 汾 20.3%
69 安 庆 20.3%
70 满 州 20.3%
71 吕 梁 20.3%
72 吉 林 20.3%
73 运 城 20.3%
74 根 州 10.2%
75 广 元 10.2%
76 松 原 10.2%
77 攀 枝 花 10.2%
78 泸 州 10.2%
79 宥 宾 1 人 【
80 绵 阳 10.2%
81 铁 峙 10.2%
s 遮 押 晚 白 人 02x
83 蹇萱黎族自 10.2%
84 海 口 10.2%
85 贵 潜 10.2%
86 桂 林 10.2%
87 营 口 10.2%
88 白 城 10.2%
89 百 色 10.2%
90 甘 孜 10.2%
91 北 海 10.2%
92 柳 州 10.2%
93 韶 关 10.2%
94 鞍 山 10.2%
95 梅 州 10.2%
96 辽 阳 10.2%
97 汕 属 10.2%
98 肇 庆 10.2%
99 包 头 10.2%
100 未 知 地 域 10.2%
101 荷 兰 10.2%
102 日 本 10.2%
103 英 国 10.2%
104 晋 中 10.2%
105 澳 大 利 亚 10.2%
106 奥 地 利 10.2%
107 昌 吉 10.2%
108 克 拉 玛 依 10.2%
109 银 川 10.2%
10 黄 南 10.2%
111 平 凉 10.2%
112 武 威 10.2%
113 达 州 10.2%
14 榆 林 10.2%
115 延 安 10.2%
116 宝 鸡 10.2%
117 香 潜 10.2%
8 呼 伦 贝 尔 10.2%
119 黔 东 南 10.2%
120 大 连 10.2%
121 邋 义 10.2%
122 六 盘 水 10.2%
123 葫 芦 岛 10.2%
124 延 边 10.2%
125 眉 山 10.2%
126 德 州 10.2%
127 信 阳 10.2%
128 新 乡 10.2%
129 台 州 10.2%
130 开 封 10.2%
131 嘉 兴 10.2%
132 衢 州 10.2%
133 金 华 10.2%
134 日 照 10.2%
135 张 家 口 10.2%
136 溏 博 10.2%
137 _ 临 沂 10.2%
138 菏 泽 10.2%
139 淮 北 10.2%
140 许 昌 10.2%
141 铜 陵 10.2%
142 青 岛 10.2%
143 新 余 10.2%
144 景 德 镇 10.2%
145 衡 水 10.2%
146 南 昌 10.2%
147 宁 德 10.2%
148 莲 田 10.2%
149 三 明 10.2%
150 泉 州 10.2%
151 六 安 10.2%
152 福 州 10.2%
153 梦 州 10.2%
154 滕 州 10.2%
155 佛 山 10.2%
156 鸣 州 10.2%
157 珠 海 10.2%
158 沧 州 10.2%
159 江 苏 省 10.2%
160 云 浮 10.2%
161 晋 城 10.2%
162 娄 底 10.2%
163 扬 州 10.2%
164 常 州 10.2%
165 唐 山 10.2%
166 湘 潭 10.2%
167 汕 头 10.2%
168 衡 阳 10.2%
169 连 云 湛 10.2%
170 张 家 界 10.2%
171 大 同 10.2%
172 盐 城 10.2%
173 黄 冈 10.2%
174 襄 糜 10.2%
175 宣 昌 10.2%
176 太 原 10.2%
177 庾 坊 10.2%
178 湖 北 省 10.2%
179 周 口 10.2%全 部 加 载 完 成

结果还是不错的,90%都识别出来了,只是汉字之间都是空格隔开,可以考虑replace掉。

参考文献

1,https://github.com/madmaze/pytesseract
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253641.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

python代码提取图片文字

步骤一:安装两个库 需要安装pytesseract和PIL两个库,然后还要安装tesseract-ocr识别引擎 问题一:安装两个库失败 这个博主讲的很详细参考链接lpython3安装pil报错 使用pip命令安装这两个库(pip命令无法使用的参考我的这篇文章将…

【Python • 图片识别】pytesseract快速识别提取图片中的文字

提示:本文多图,请手机端注意流量。 文章目录 前言一、配置环境1. 安装python依赖2. 安装识别引擎安装tesseract识别引擎(可跳过)验证是否安装成功 二、使用步骤1.引入库2.提取图片文字3.运行效果 总结完整代码 前言 利用python做…

MySQL进阶- Linux安装 和 索引

目录 Linux安装索引索引的概述索引的结构索引结构的介绍BtreeBtreeHash 索引的分类索引的语法(创建,查看,删除等)SQL性能分析SQL的执行频率(查看SQL的执行频率)慢查询日志show profilesexplain执行计划 索引…

Nginx同时支持Http和Https的配置

现在的网站支持Https几乎是标配功能,Nginx能很好的支持Https功能。下面列举一个配置同时支持Http和Https的功能。 需要注意的是:既然选择使用Https,就是为了保证通信安全,那么就没必要再用Http进行通信了。在URL中还支持Http的方式…

Nginx配置同时支持http和https两种方式访问

http: https: Nginx的ssl模块安装 进入到目录的sbin目录下,输入 #注意这里是大写的V,小写的只显示版本号 ./nginx -V 如果出现 (configure arguments: --with-http_ssl_module), 则已安装(下面的步骤可以跳过,直接进…

HTTP 和 HTTPS 的区别(面试常考题)

前言 无论是在校学习还是找工作的时候,老师和面试官都问过同学 HTTP 和 HTTPS 的区别。平时上网的时候也没有关注这个问题,只是知道计算机网络里 HTTP 的概念,所以最近才查资料好好补补这一块。其实这一块的知识延伸很广,如果之前…

网站开发(一)http和https的区别 http是什么?http协议的特性 http与https网站通信协议两者的有什么不同呢?

目录 一、前言 二、HTTP是什么? 1、HTTP发展阶段 2、HTTP工作原理 3、HTTP的工作特性 三、HTTP和HTTPS区别 1、http与https端口不同 2、http和https应用 ? ? ? ? 2.1 http应用 ? ? ? ? 2.2 https应用 3、 http和https区别简易图 一、前言 HTTP是…

HTTP和HTTPS区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此&…

HTTP和HTTPS的工作原理及区别

一、HTTP和HTTPS的基本概念 HTTP(HyperText Transfer Protocol:超文本传输协议):是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从Web服…

Spring Boot项目同时使用http和https

有些时候项目需要同时监听在不同的端口上,比如同时监听http80和https 443端口,这时我们需要自定义web server。 假设我们需要项目同时使用http和https两种协议提供服务,分别使用端口80和443。 我们知道Spring Boot内置了tomcat,jetty,under…

http和https的区别https的连接方式

首先了解什么是http协议,http协议是超文本传输协议,他存在的目的是为浏览器和服务器之前传输信息。但是http是明文传输的,不管是谁,只要抓取了浏览器传向服务器,或者服务器传向浏览器的信息,就可以获取里面…

http和https有什么区别?

ps:https就是http和TCP之间有一层SSL层,这一层的实际作用是防止钓鱼和加密。防止钓鱼通过网站的证书,网站必须有CA证书,证书类似于一个解密的签名。另外是加密,加密需要一个密钥交换算法,双方通过交换后的密…

HTTP和HTTPS的区别详解

1.HTTP的缺点 (点击题目解锁惊喜↑↑) 通信使用明文(不加密),内容可能会被窃听。不验证通信方的身份,因此有可能遭遇伪装。无法证明报文的完整性,所以有可能已遭篡改。某些特定的web服务器和特…

HTTP和HTTPS请求的整个过程详解

HTTP和HTTPS请求的整个过程详解 小橙子 小橘子的日记 4月17日 HTTP和HTTPS的请求流程也是面试的时候一大考点,如果不掌握的话,容易丢失印象分。这两种请求都是基于TCP/IP,不明白的请看上一篇文章。这里总结HTTP/HTTPS请求的整个过程&#xf…

http和https协议有什么区别

1、https协议需要到CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(原来网易官网是http,而网易邮箱是https。) 2、http是超文本传输协议,信息是明文传…

浅谈 HTTP 和 HTTPS

很多前端伙伴问题有没有体系的面试题? 今天为大家推荐一款刷题神奇哦 点击链接访问牛客网 各大互联网大厂面试真题。从基础到入阶乃至原理刨析类面试题 应有尽有,赶快来装备自己吧!助你面试稳操胜券,solo全场面试官 浅谈 HTTP 和 …

http与https概述

http与https的区别 1 背景2 基本概念3 区别4 工作原理4.1 HTTP工作原理4.2 HTTPS工作原理 5 HTTPS优缺点5.1 优点5.2 缺点 6 HTTP请求消息和响应消息6.1 请求消息6.2 响应消息 1 背景 超文本传输协议(HTTP协议)被用于在Web浏览器和网站服务器之间传递信…

HTTP和HTTPS协议,看一篇就够了

一、前言: 先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.12306.cn/otn/regist/init,浏览器显示安全,为什么会这样子呢?2017年1月发布的…

HTTP和HTTPS

1. 前言 近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTT…

HTTP 和 HTTPS 的区别

一、简述 1️⃣HTTP (全称 Hyper Text Transfer Protocol),就是超文本传输协议,用来在 Internet 上传送超文本。是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本…