python识别图片中的文字、数值并转文档

最近工作中有把图片中的文字和数字识别出来的需求,但是网上的图片转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和建模知识,让你的学习和工作更出彩。

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

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

相关文章

提取图片文字,python三行代码足矣!

文章目录 一、提取图片文字1、代码及运行成果2、库的安装及一些问题的解决方案 二、Blogger’s speech 身处数据爆炸增长的信息时代,各种各样的数据都飞速增长,以图片的形式出现的数据更是数不胜数。有时候,我们想要提取图片中的文字&#xf…

Python图像处理之识别图像中的文字

①安装PIL:pip install Pillow(之前的博客中有写过) ②安装pytesser3:pip install pytesser3 ③安装pytesseract:pip install pytesseract ④安装autopy3: 先安装wheel:pip install wheel …

【C++入门】auto关键字 与 基于范围的for循环(C++11)

目录 引言 类型别名的思考 一、概念 二、使用细则 1.auto与指针和引用结合起来使用 2.在同一行定义多个变量 三、auto不适用的场景 基于范围的for循环(C11) 一、范围for的语法 二、使用条件 1.for循环迭代的范围必须是确定的 2.迭代的对象要实现…

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

如何用Python识别图片中的文字? 转:https://mp.weixin.qq.com/s/wXDJoAAI8y1mtbUuwATngQ 以下文章来源于微信公众号:新建文件夹X ,作者ZackSock 新建文件夹X 大自然用数百亿年创造出我们现实世界,而程序员用几百年…

【Python案例】OCR提取图片中的文字

很多软件内置了OCR功能,即图片提取文字功能。有些是免费提供给大家使用,但有些是收费的。不管是免费的还是收费的,终究逃离不了隐私问题。用别人的OCR,总得把图片传到对方的服务器。今天我们使用Python开发一个OCR软件&#xff0c…

python写一个自动识别图片提取文字

python写一个自动识别图片提取文字。 ** 1.介绍 使用python写一个自动识别图片提取文字的exe. 进行图像的文字识别,将图像中的文字提取出来,可以帮助我们完成很多有趣的事情。 准备工作 import keyboard #安装: pip install keyboard fr…

基于Tesseract模块Python实现提取图片中的文字信息(安装+使用教程)

Python实现提取图片中的文字可以使用Optical Character Recognition (OCR) 技术来解决。OCR是指将图像中的文本转换成可编辑的文本的过程。Python有许多OCR库,但最流行和最广泛使用的是Tesseract库。 下面是一个使用Python和Tesseract来提取图像中的文本的简单示例…

Python图片文字提取

图片信息现在越来越广泛的存在于我们的日常生活中,获取图片内的文字信息也渐渐的成为当今生活中的需求,在学习完Python的基础知识后,本小白以此语言为工具,使用百度提供的图像识别接口来实现简单的图片文字提取(承蒙各…

pytesseract提取识别图片中的文字

目录 1、获取tesseract版本号 2、获取语言包列表 3、识别图片中的文字 4、获取图片中文字的详细信息 5、识别图片中的文字和位置 6、识别osd信息 7、识别并生成xml文件 避坑指南: pytesseract是对Tesseract-OCR命令行的封装,实际上底层调用的还是…

python 图片文字提取

转载:python怎么读取png(python 图像处理)-天道酬勤-花开半夏 图像处理不是一件简单的工作。 对你来说,一看到某样东西,马上就知道你在看什么很容易。 但是,电脑不是这样工作的。 对你来说太难的任务,比如复杂的算术&a…

用Python提取图片截图中的文字

《用Python“破解”某度文库等文库复制的限制》 tips:当个标题党真刺激啊 开发背景 临近期末,CYooQ要写许多作业。迫不得已寻找度娘解决问题,找到之后,CYooQ习惯性地ctrlc,当ctrlv时发现,emmm!?没有啊!仔…

Python利用OCR提取图片中的文字

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Python利用OCR提取图片中的文字 很多软件内置了OCR功能,即图片提取文字功能。有些是免费提供给大家使用,但有些…

如何使用Python从图片中提取文字?

目录 Python图片识别文字一、Tesseract下载及安装二、配置环境变量三、代码部分 Python图片识别文字 一、Tesseract下载及安装 下载链接 Index of /tesseract. 点击下载适合电脑配置的最新版本 下载完成并开始安装 选择默认英文 点击下一步 点击我同意 点击为任何使用计算机…

Redis事务详解

目录 一、前言二、Redis事务 - 基本使用三、Redis事务 - 错误处理四、Redis事务 - 事务冲突1、事务所产生的问题2、悲观锁&乐观锁3、watch监听4、watch的应用场景 五、Redis 事务特性 一、前言 事务是指一个完整的动作,要么全部执行,要么什么也没有…

python--识别图片中的文字

本篇文章主要参考了 python图像处理之识别图像中的文字 这篇文章,在实现的过程中出现了些偏差,特此记录。因为此时笔者不是第一次安装,所展示的结果会和首次安装的结果有所差别。 1.安装PIL 以管理员的身份打开命令提示符,输入&…

【Python例】利用 python 进行图片文字信息的提取 --- OCR-EasyOCR

【Python例】利用 python 进行图片文字信息的提取 — OCR-EasyOCR 本文主要用于记录,并使用 python 脚本进行图片文字信息的生成。 什么是 OCR? OCR OCR(Optical character recognition,光学字符识别)是一种将图像中的…

Python提取图片中的文字信息

Python提取图片中的文字信息 使用的Python库 Python tesseract是Python的一个光学字符识别(OCR)工具。也就是说,它将识别并“读取”嵌入图像中的文本。 Python tesseract是Google tesseract OCR引擎的包装器。它还可用作tesseract的独立调…

Python识别图片中的文字

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

python提取图片中的文字

python提取图片中的文字 准备工作原图片完整代码结果预览 OCR,全称Optical character recognition,中文译名叫做光学文字识别。它把图像中的字符,转换为机器编码的文本的一种方法。OCR技术在印刷行业应用得非常多,也广泛用于识别图…

python代码提取图片文字

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