使用Python中的pytesseract模块实现抓取图片中文字
目录
一、需求分析
二、方案选择
三、实验实操
3.1、配置环境
3.2 、Anaconda配置
3.3、安装tesseract程序
3.4、安装pytesseract模块
3.5、见证奇迹的环节
一、需求分析
最近同事用网上提供扫描软件进行扫描识别文字,每天上线只能够做两次扫描,请求我研发一个小工具帮助解决识别图片的中文字。
二、方案选择
使用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 pytesseractimage = 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提取图片中的文字_帅帅de三叔的博客-CSDN博客_python提取图片文字
anaconda+python+tesseract安装,亲试可用_icanfly728的博客-CSDN博客_anaconda安装库 pytesseract
使用Python中的pytesseract模块实现抓取图片中文字相关推荐
- python3 模块调用其他类的方法_python类的函数调用 python如何引用其他模块中类的方法中的变量?...
python中类内部的函数可以互相调用吗? python 如何调用类的方法要遇上一个人只要用一分钟的时间:要喜欢上一个人只要用一句话的时间:要爱上一个人只要用一天的时间:但要忘记一个人却要用一生的时间 ...
- python怎么打开h5文件_python中利用h5py模块读取h5文件中的主键方法
如下所示: import h5py import numpy as np #HDF5的写入: imgData = np.zeros((2,4)) f = h5py.File('HDF5_FILE.h5 ...
- modprobe:用于向内核中加载模块或者从内核中移除模块。
modprobe:用于向内核中加载模块或者从内核中移除模块. modprobe br_netfilter 加载模块 modprobe -r br_netfilter 移除 1.查看系统中所有modul ...
- modprobe命令用于智能地向内核中加载模块或者从内核中移除模块
modprobe命令用于智能地向内核中加载模块或者从内核中移除模块. modprobe可载入指定的个别模块,或是载入一组相依的模块.modprobe会根据depmod所产生的相依关系,决定要载入哪些模 ...
- 选择(Ansys2021及以上)Workbench中的LS-DYNA模块,在工程数据库中设置材料参数,选择关键字MAT和EOS
随着Ansys新版本的不断更新,Workbench集成的Ls-dyna模板也在不断完善,在workbench中也能够完成一些Ls-dyna的计算了.那么就介绍一下,在Workbench中,如何在工程数 ...
- python下载matplotlib.finance模块_关于Matplotlib中No module named 'matplotlib.finance'的解决办法...
最近在研究量化分析,需要用到matplotlib中的一个库,输入 from matplotlib.finance import quotes_historical_yahoo_ohlc, candle ...
- modprobe:用于向内核中加载模块或者从内核中移除模块
modprobe br_netfilter 加载模块 modprobe -r br_netfilter 移除 1.查看系统中所有modules(包括已加载和未加载的) ls -alRUv /lib/m ...
- [Python][爬虫03]requests+BeautifulSoup实例:抓取图片并保存
上一篇中,安装和初步使用了requests+BeautifulSoup,感受到了它们的便捷.但之前我们抓取的都是文字信息,这次我们准备来抓取的是图片信息. >第一个实例 我们来抓取这个网站的图片 ...
- python自己创建模块引用失败_详解Python import方法引入模块的实例 Python怎么import自己写的模块...
python中 import导入模块失败的问题? python中的import引用不了模块我傻,为你傻;我痛,为你痛;深夜里,你是我一种惯性的回忆. 为什么我用from lianxi import*就 ...
最新文章
- mybatis入门-第一个程序
- 2017计算机在线作业二,《计算机应用基础》2017年秋学期在线作业(二)满分答案...
- html标签名缩写与英文全称对照表
- spring mvc学习(8):springmvc常用注解代码
- c语言判断回文平方数,C/C++回文数的判断(转)
- 谷歌json插件_没用过这7款浏览器插件,你一定是假的程序员
- sqlilte 判断当天日期_18个Java8处理日期的新花样,肯定没用过!
- android app反解工具,安卓反编译逆向工具:Apktool + dex2jar 教程
- python拼音识别多音字的包_一个有意思还有用的Python包-汉字转换拼音
- 《算法概论》第八章NP完全问题部分习题解
- Solidity入门-开发众筹智能合约
- 二叉树 最小公共祖先 c++版
- 数据元素、数据项、数据对象的概念详解
- C 合成的图片文件的小练习
- rtklib 周跳检测
- 2021-10-26MT4、MT5如何加载使用EA和指标
- css 画小黄人,纯CSS3画出小黄人并实现动画效果
- 宇视摄像机云台控制预置位、巡航如何配置
- Ganymed实现基本的自动化部署API
- C++矩阵的对角线之和