使用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(看自己环境安装哪里)

使用Python中的pytesseract模块实现抓取图片中文字

 将.condarc文件备份一个,然后加载源的配置项拷贝进去,重启Anaconda3程序,生效配置项。

 

使用Python中的pytesseract模块实现抓取图片中文字

加载源:

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位操作系统)

使用Python中的pytesseract模块实现抓取图片中文字

选配项中记得选择中文的语言,后期识别中文字体做准备。

使用Python中的pytesseract模块实现抓取图片中文字

 配置tesseract系统环境变量,将 tesseract-ocr的绝对路径配置在系统变量中。

【从C:\Program Files\Tesseract-OCR安装目录下,直接把tessdata 文件夹里的内容都复制到C:\Users\Administrator\Anaconda3,另外tessdata 文件夹里chi_sim.traineddata,eng.traineddata文件需要复制到C:\ProgramData\Anaconda3下,不然后面运行程序会提示找不到文件,配置好环境变量也不行!】(据说是霸王条款)

重启系统让变量生效。

使用Python中的pytesseract模块实现抓取图片中文字

3.4、安装pytesseract模块

运行Anaconda 终端命令,执行conda install tesserocr pillow

使用Python中的pytesseract模块实现抓取图片中文字

 系统已经显示我已经安装。(安装的时间有一些长,需要耐性等待。)

使用Python中的pytesseract模块实现抓取图片中文字

执行另外一个指令conda install pytesseract  (安装pytesseract,这个安装需要一点时间等待了)

使用Python中的pytesseract模块实现抓取图片中文字

 使用python语句进行验证。

使用Python中的pytesseract模块实现抓取图片中文字

使用Python中的pytesseract模块实现抓取图片中文字

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:

使用Python中的pytesseract模块实现抓取图片中文字

 编译结果:.(已经成功识别图片内部的文字,进行呈现。)

使用Python中的pytesseract模块实现抓取图片中文字

测试2:

原图2

使用Python中的pytesseract模块实现抓取图片中文字

测试结果:可以正常识别图片文字出来了。

使用Python中的pytesseract模块实现抓取图片中文字

参考网友知识:

python提取图片中的文字

anaconda+python+tesseract安装,亲试可用

来源:25235.21462.22270.29255.20013.25991.23383.

标签:Python,pytesseract,图片文字
0
投稿

猜你喜欢

  • 您是否记得关闭所有的XHTML元素

    2009-07-13 12:17:00
  • MySQL 5数据库连接超时问题

    2009-12-29 10:23:00
  • Python文件与文件夹常见基本操作总结

    2023-08-08 16:56:09
  • 分享一个超好用的php header下载函数

    2023-09-03 21:31:43
  • SQL Server 自动增长清零的方法

    2012-01-05 19:07:47
  • Python远程桌面协议RDPY安装使用介绍

    2023-11-06 05:37:23
  • python中列表对象pop()方法的使用说明

    2021-10-25 09:45:40
  • python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例

    2023-02-13 23:39:27
  • Go for-range 的 value值地址每次都一样的原因解析

    2023-09-23 12:59:20
  • 在ASP.NET 2.0中操作数据之三十:格式化DataList和Repeater的数据

    2023-07-22 20:15:21
  • php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)

    2023-10-17 14:16:56
  • python读写文件with open的介绍

    2022-04-03 22:19:34
  • Numpy数组转置的两种实现方法

    2023-01-22 16:36:54
  • Python 实现使用dict 创建二维数据、DataFrame

    2021-09-29 16:49:43
  • ASP实例:处理多关键词查询实例代码

    2008-11-24 12:56:00
  • golang 使用sort.slice包实现对象list排序

    2023-06-21 18:25:46
  • python configparser中默认值的设定方式

    2023-09-08 22:01:33
  • python 包之 multiprocessing 多进程

    2021-02-25 12:13:15
  • 基于Python实现二维图像双线性插值

    2023-08-13 07:46:45
  • python命令行参数解析OptionParser类用法实例

    2022-06-21 17:57:24
  • asp之家 网络编程 m.aspxhome.com