最近工作中有把图片中的文字和数字识别出来的需求,但是网上的图片转excel有些直接收费,有些网址每天前几次免费,后续依然要收费。想着趁周末有时间,倒腾一下,如果后续这种需求多的话,可以节省一点成本,也可以提升自己编程的能力。而且在一些爬虫登录时,字符识别自动填写也需要。
  

  

一、安装pytesseract库和OCR识别软件

  
打开cmd,在里面输入

pip install pytesseract

即可成功安装pytesseract库,但是这时直接调用该库会出现如下错误:
  

  
从网上搜索原因发现要实现图片识别,要先安装OCR识别软件:tesseract-ocr,有需要的可以到如下官网自行下载:

https://github.com/UB-Mannheim/tesseract/wiki

不过这个网址下载速度特别慢,电脑是 windows64 位的朋友,可以到公众号中回复 “OCR软件” 免费获取网盘下载地址,提高下载速度。安装 OCR 识别软件时,一路默认即可,如果怕 C 盘内存占用太多,影响电脑速度,也可以选择别的盘安装,我就是安装在 D:\tpsb 文件夹中。
  
软件装完后需配置环境变量: 我的电脑 ->属性 -> 高级系统设置 ->环境变量 ->系统变量 ,在 path 中添加 OCR 安装路径,具体如下:
  

  
我的OCR软件是安装在D:\tpsb文件夹中,你在添加的时候要改成你的安装目录。由于OCR默认识别英文和数字,不能识别中文,所以需要将语言字库文件夹添加到系统变量中。
  
即需在新建变量中增加一个TESSDATA_PREFIX变量名,变量值为你的安装路径加tessdata,比如D:\tpsb\tessdata,具体如下:


  
配置完后就可以在命令行输入 WIN+R 打开cmd :输入 tesseract -v ,出现版本信息,则配置成功。
  

  
但是有些朋友在python中调用tesseract进行图片识别时还是会报错,建议把pytesseract.py文件中的tesseract_cmd做如下修改:
  

  
其中tesseract_cmd中的路径为你安装tesseract软件的路径。

  
  

二、识别英文和数字

  
软件安装和配置好后,就可以进行图片识别啦。首先来看下用python识别简单的数字图片,效果怎么样,具体图片如下:

  
python语句如下:

import os
import sys
import pytesseract
from PIL import Imageos.chdir(r'F:\公众号\25.图片识别')
text=pytesseract.image_to_string(Image.open('2_date.png'))
print(text)

得到结果:

  
可以发现数字的识别结果和原图是完全一致的,这种数字识别可以应用在验证码的识别中。接下来看下常见的由英文表头和数字内容组成的图片表格,这种类型图片的识别效果。


  
python识别语句如下:

text=pytesseract.image_to_string(Image.open('4_date.png'))
print(text)

得到结果:


  
查看text类型会发现text是一个字符串,需要进一步处理成我们分析用的表格。具体语句如下:

import pandas as pddata = pd.DataFrame(text.split('\n'))
data_1 = pd.DataFrame((x.split(' ') for x in data[0]))

得到结果:


  
从以上图片可以发现,识别的结果还是存在一些问题,比如把0识别成了ie),多加了一些行等。所以最终的结果可能需要人工智能一下。对比一下我常用的图片转excel网站结果,感兴趣的可以自己测试一下,网址如下:

https://xpdf.net/ocr-images-to-excel

得到结果:


  
会发现网上自动识别结果也存在一些问题,不过比一个一个手敲数据要好很多。以上讲的都是英文和数字的识别,要想识别中文可以选择加载相应的中文包,也可以调用百度API。

  
  

三、识别中文

  
本文介绍加载相应的中文包进行中文识别,可以选择到官网https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata去下载,可是速度实在是太慢,有时根本打不开。
  
也可以选择到公众号中回复“文字识别中文包”免费获取网盘下载链接,速度依然慢,我测试过要半小时左右。下载后解压缩,把文件夹中的东西复制到安装目录“D:\tpsb\tessdata”下即可(你复制的路径要替换成安装目录)。
  
假设我们要识别的图片如下:
  

  
python识别代码:

import os
import sys
import pytesseract
from PIL import Imageos.chdir(r'F:\公众号\25.图片识别')
text=pytesseract.image_to_string(Image.open('1_诗.png'),lang='chi_sim')
print(text)

识别结果:

  
可以发现猿啸哀的啸识别成了喝,长江滚滚来识别成了长江木,最后一句也存在一定的问题。下一篇文章我们一起来探索调用百度AI的文字识别功能,对比来看哪一种方式的识别效果好。
  
参考文献
https://blog.csdn.net/xiaxianba/article/details/89450855
https://blog.csdn.net/qiushi_1990/article/details/78041375
https://www.cnblogs.com/my-blogs-for-everone/p/10637225.html
  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

python识别图片中的文字、数值并转文档相关推荐

  1. 如何用Python识别图片中的文字?

    如何用Python识别图片中的文字? 转:https://mp.weixin.qq.com/s/wXDJoAAI8y1mtbUuwATngQ 以下文章来源于微信公众号:新建文件夹X ,作者ZackSo ...

  2. 用 Python 识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  3. python批量识别图片中文字_如何用Python识别图片中的文字?

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  4. python保存图片到指定路径_用 Python 识别图片中的文字

    (给Python开发者加星标,提升Python技能) 来源:ZackSock 一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度 ...

  5. python识别图片文字_如何利用Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  6. python识别图片上的文字_怎么用python识别图片中的文字-百度经验

    在网上看了很多用python进行文字识别的文章,就只有两个字的体会:乱.差.因为很多模块,我都不知道怎么安装,弄得焦头烂额,反而因此浪费了很多时间,而且到最后也是没能成功. 在文章中插入大量BUG,让 ...

  7. python识别汉字笔画_Python识别图片中的文字

    Python识别图片中的文字 一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截 ...

  8. 如何将图片序列化_如何将图片文字转化为Word文档?

    很多朋友不知道如何将图片文字识别出来转化成Word文档,对于很多文字的图片,手录是很麻烦的事情,如何快速转化呢,今天就来说说. 1.在百度上搜索OCR文字识别工具,并安装一个OCR文字识别工具,这样就 ...

  9. 怎么把图片文字转换成word文档?这个方法了解一下

    在现代的生活中,我们经常需要将图片中的文字转换成Word文档,以方便我们编辑和处理文本.虽然在电脑上进行这项工作很容易,但是在手机上可能会有些困难.在本文中,我们将介绍一些在手机上将图片文字转换成Wo ...

  10. python识别图片上的文字_Python如何识别图片中的文字 【转】

    Python如何识别图片中的文字,这里给个案例并附上详细步骤: 模块包的安装: 1.安装PIL:pip install Pillow 2.安装pytesser3:pip install pytesse ...

最新文章

  1. GNN教程:图注意力网络(GAT)详解!
  2. ScrollView内嵌ListView或GridView的滑动处理
  3. java 文本编辑器 源码_java文本编辑器源码
  4. spring容器注入一个接口的两个实现类
  5. JS 搜索 --下拉列表
  6. 【渝粤教育】国家开放大学2019年春季 1009离散数学(本) 参考试题
  7. 编程加速服务器_FPGA加速驱动新时代的数据洪流,下篇
  8. mysql generator备注_MyBatis Generator 自定义生成注释
  9. 中国电子技术标准化研究院与Linux基金会战略合作签约仪式圆满落幕
  10. 【AtCoder Grand Contest 036 B】Do Not Duplicate【循环节】
  11. windows如何安装pycharm2022版本?pycharm如何安装汉化语言包{www.423zy.com}
  12. 一二线城市知名 IT 互联网公司名单!
  13. 杭州好玩景点攻略198
  14. Java设置时间为0时0分0秒和23时59分59秒
  15. c++/c语言(高质量程序设计指南林锐建议总结)
  16. bps、Bps、pps的概念和区别
  17. 2023北京老博会·老年用品展·老年食品展·北京老年助浴展
  18. 【无标题】写了一个半小时才写这么一点,是不是我能力不行呀?而且暗亮边框还显示不出来,害
  19. esxtop 指标%RDY,NUMA,Wide-VMs
  20. 部署gitlab+gitrunner+nexus镜像仓库CI流水线配置

热门文章

  1. HCIA-Cloud Computing华为云计算IA认证笔记
  2. 各种泵的图形符号_泵的图形符号
  3. 七升七降调号_巧识五线谱08:如何记住七个“降号调”的调号与调的对应关系?...
  4. [实战]200类鸟类细粒度图像分类
  5. aaaa555555555
  6. 像素、分辨率、尺寸概念与关系
  7. VirtualBox增强功能无法安装
  8. albers投影转WGS84坐标格式,读.shp.dbf文件,获取文件字符集工具类。
  9. 毕业论文参考文献格式设置(以GB/T 7714-2015为例)
  10. (产品面试贴)乐动——阿里巴巴2015暑期实习平台型产品经理(技术领域)