python代码提取图片文字

步骤一:安装两个库

需要安装pytesseract和PIL两个库,然后还要安装tesseract-ocr识别引擎

问题一:安装两个库失败

这个博主讲的很详细参考链接lpython3安装pil报错
使用pip命令安装这两个库(pip命令无法使用的参考我的这篇文章将python中的.py文件打包成.exe)

pip install pillow
 
pip install pillow-pil

安装好了之后我的是这样
python代码提取图片文字_第1张图片

步骤二:安装tesseract-ocr

参考链接Tesseract-OCR 下载安装和使用

用命令提示符提取图片文字

①先将路径换到图片路径下(直接输入盘符D:可以切换到D盘下,然后输入cd picture
cd 后面跟D盘下文件的名字 )(或者直接在图片路径直接输入cmd打开命令提示符)
②然后输入tesseract test.png 1 -l chi_sim

tesseract test.png 1 -l chi_sim

【语法】: tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile…]

imagename为目标图片文件名,需加格式后缀;
outputbase是转换结果文件名;
lang是语言名称(在Tesseract-OCR中tessdata文件夹可看到以eng开头的语言文件eng.traineddata),如不标-l eng则默认为eng。
其中eng为英语chi_sim和chi_sim_vert为简体中文(暂时不知它俩什么区别)
③会在同目录下得到名为1.txt的文件, 里面就是提取到的文字
python代码提取图片文字_第2张图片

用python输出图片文字

以下是提取汉字的代码

import pytesseract
from PIL import Image
def demo():
    # 打开要识别的图片
    image = Image.open('../selfLesson/test.png')
    # 使用pytesseract调用image_to_string方法进行识别,传入要识别的图片,lang='chi_sim'是设置为中文识别,
    text = pytesseract.image_to_string(image, lang='chi_sim')
    # 输入所识别的文字
    print(text)

if __name__ == '__main__':
    demo()

# tesseract test.png 1 -l eng


问题二:要提取文字的图片的路径问题

当我将要提取图片的路径设置为绝对路径,和相对路径时出现以下错误
Traceback (most recent call last):
File “F:\pycharm\selfStudy\selfLesson\lesson2.py”, line 15, in
demo()
File “F:\pycharm\selfStudy\selfLesson\lesson2.py”, line 5, in demo
image = Image.open(‘F:\pycharm\selfStudy\selfLesson\3.png’)
File “F:\pycharm\selfStudy\venv\lib\site-packages\PIL\Image.py”, line 3092, in open
fp = builtins.open(filename, “rb”)
OSError: [Errno 22] Invalid argument: ‘F:\pycharm\selfStudy\selfLesson\x03.png’

进程已结束,退出代码1
python代码提取图片文字_第3张图片

我暂时的替代方法是将路径改为…/selfLesson/test.png

其中…/是退出当前文件路径,然后再输入图片的文件夹名字
python代码提取图片文字_第4张图片
然后就可以在控制台得到提取的文字

我找到的路径和输入路径的方式

python代码提取图片文字_第5张图片
最后,借鉴了很多大佬的文章,已经在文章中标注
写下这篇文章仅仅供自己以后参考,如果能对大家有帮助,深表感激

你可能感兴趣的:(python,python,深度学习,windows)