使用Python中的pytesseract模块实现抓取图片中文字
作者:业里村牛欢喜 时间:2021-05-06 18:10:28
一、需求分析
最近同事用网上提供扫描软件进行扫描识别文字,每天上线只能够做两次扫描,请求我研发一个小工具帮助解决识别图片的中文字。
二、方案选择
使用pytesseract模块可以解决这个需求问题,pytesseract是光识别图片的模块。需要安装第三方资源库进行搜索。
三、实验实操
3.1、配置环境
Anaconda3.0,pycharm2022版,python3.7.0,win10
3.2、 Anaconda配置
先配置Anaconda3的环境,找到默认安装路径C:\Users\Administrator\.condarc(看自己环境安装哪里)
将.condarc文件备份一个,然后加载源的配置项拷贝进去,重启Anaconda3程序,生效配置项。
加载源:
channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
show_channel_urls: true
ssl_verify: true
3.3、安装tesseract程序
下载tesseract的exe安装文件,安装包地址:https://github.com/UB-Mannheim/tesseract/wiki
我下的是 tesseract-ocr-w64-setup-v5.0.1.20220118.exe版本。(本机是64位操作系统)
选配项中记得选择中文的语言,后期识别中文字体做准备。
配置tesseract系统环境变量,将 tesseract-ocr的绝对路径配置在系统变量中。
【从C:\Program Files\Tesseract-OCR安装目录下,直接把tessdata 文件夹里的内容都复制到C:\Users\Administrator\Anaconda3,另外tessdata 文件夹里chi_sim.traineddata,eng.traineddata文件需要复制到C:\ProgramData\Anaconda3下,不然后面运行程序会提示找不到文件,配置好环境变量也不行!】(据说是霸王条款)
重启系统让变量生效。
3.4、安装pytesseract模块
运行Anaconda 终端命令,执行conda install tesserocr pillow
系统已经显示我已经安装。(安装的时间有一些长,需要耐性等待。)
执行另外一个指令conda install pytesseract (安装pytesseract,这个安装需要一点时间等待了)
使用python语句进行验证。
3.5、见证奇迹的环节
测试1:
在pycharm编译器中执行语句操作:
from PIL import Image
import pytesseract
image = Image.open("粉丝.jpg") #打开图片
#print(image.size) #测试图片像素尺寸
text = pytesseract.image_to_string(image, lang='chi_sim') #图片转字符串
text = text.replace("“ ","").replace("。","") #去掉杂质,提纯
print(text) #测试结果
原图片粉丝.jpg:
编译结果:.(已经成功识别图片内部的文字,进行呈现。)
测试2:
原图2
测试结果:可以正常识别图片文字出来了。
参考网友知识:
python提取图片中的文字
anaconda+python+tesseract安装,亲试可用
来源:25235.21462.22270.29255.20013.25991.23383.
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
您是否记得关闭所有的XHTML元素
MySQL 5数据库连接超时问题
Python文件与文件夹常见基本操作总结
分享一个超好用的php header下载函数
SQL Server 自动增长清零的方法
Python远程桌面协议RDPY安装使用介绍
python中列表对象pop()方法的使用说明
![](https://img.aspxhome.com/file/2023/1/75281_0s.png)
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
![](https://img.aspxhome.com/file/2023/3/121893_0s.png)
Go for-range 的 value值地址每次都一样的原因解析
在ASP.NET 2.0中操作数据之三十:格式化DataList和Repeater的数据
![](https://img.aspxhome.com/file/2023/9/76339_0s.png)
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
python读写文件with open的介绍
![](https://img.aspxhome.com/file/2023/8/92458_0s.png)
Numpy数组转置的两种实现方法
Python 实现使用dict 创建二维数据、DataFrame
ASP实例:处理多关键词查询实例代码
golang 使用sort.slice包实现对象list排序
![](https://img.aspxhome.com/file/2023/2/87612_0s.png)
python configparser中默认值的设定方式
python 包之 multiprocessing 多进程
基于Python实现二维图像双线性插值
![](https://img.aspxhome.com/file/2023/4/61984_0s.png)
python命令行参数解析OptionParser类用法实例
![](https://img.aspxhome.com/file/2023/6/70736_0s.gif)