python从图片中提取文字


笔者环境:Arch Linux

1. 系统安装teseract和英文中文语言包

arch下安装十分简单,pacman会自动帮我们解决所有依赖

sudo pacman -S tesseract tesseract-data-eng tesseract-data-chi_sim

2. python安装必要的第三方库

sudo pip install pillow
sudo pip install pytesseract

2. 代码展示

分别识别中文,英文,数字

我测试时识别的图片在代码同一目录下的img目录下

import os
import pytesseract
from PIL import Image

BASE_DIR = os.path.dirname(__file__)

zh_img = os.path.join(BASE_DIR, "img/zh_demo.png")
en_img = os.path.join(BASE_DIR, "img/en_demo.png")
num_img = os.path.join(BASE_DIR, "img/num_demo.png")

zh = pytesseract.image_to_string(Image.open(zh_img), lang="chi_sim").replace(" ","")    # 中文识别有时不是特别准确,识别结果中间有空格
en = pytesseract.image_to_string(Image.open(en_img))    # 也只有识别规矩的英文和数字了,可以用来破解低级验证码
num = pytesseract.image_to_string(Image.open(num_img))

print(zh)	# 山重水覆疑无路,柳暗花明又一村
print(en)	# kainhuck
print(num)	# 0771-5785703



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM