[爬虫]识别图片上文字(验证码识别的扩展)
代码:
#单 位:常州旺龙
#作 者:OLDNI
#开发日期:2024/2/20
'''
识别图片上的文字
此处使用是paddleocr库
'''
# 需要安装pip install paddlepaddle paddleocr
import os
from paddleocr import PaddleOCR
#实例化ocr模型
ocr=PaddleOCR()
#操作的图片对象
img_file='散文.png'
#获取图片名称再把内容写入到同名的文档中
name_lst=img_file.split('.')
name=name_lst[0]
#识别图片中的文字
'''
类型是个列表,每行的内容是列表内的一个元组
比如:[[ 元组的最前面一个元素才是每行的内容
[[[2.0, 11.0], [157.0, 11.0], [157.0, 31.0], [2.0, 31.0]], ('1.查看本地IPv6', 0.9696990847587585)],
]]
'''
res=ocr.ocr(img_file)
#将识别到的内容保存到文档中
with open(f'{name}.txt','w',encoding='utf-8') as f:
#遍历出每行的内容,也是个列表:[[[2.0, 11.0], [157.0, 11.0], [157.0, 31.0], [2.0, 31.0]], ('1.查看本地IPv6', 0.9696990847587585)]
#再获取元组,再从元组中取第一个元素
for line in res[0]:
text=line[-1][0]
#要加换行符,不然都写一行了
f.write(text+'\n')
os.startfile(f'{name}.txt')
效果:
原图片:
识别生成的文档:
识别并不是全正确的!!