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

猜你喜欢

转载自www.cnblogs.com/kainhuck/p/12482993.html