python编程之文字识别技术
相信很多小伙伴都遇到过,在网上找的一篇文档,在线pdf(或百度文库),有部分内容想引用,又无法复制,欲哭无泪,只能一个一个字的手敲。下面我们介绍的这个技术也是基于百度ai的接口实现的,如果有不知道的小伙伴,去看我上篇文章,马上就开始吧。
准备
需要安装PIL包,命令行中输入
pip install pillow
上个指令只支持python3,python2不支持,赶快升级到pyhton3吧。
代码
首先同样是需要到百度去注册,然后获取自己的APP_ID、API_KEY、SECRET_KEY。
以下是完整的实现代码:
import time
import keyboard
from PIL import ImageGrab
from aip import AipOcr # 导入百度的AIP库
# 一致循环截取
while True:
# 1,截图,并测试 # 你的截图软件热键,视情况而定,以微信截图举例
keyboard.wait(hotkey="alt+a")
# 你的保存图片热键,视情况而定,以微信截图举例
keyboard.wait(hotkey="enter")
print("截图成功")
time.sleep(0.1)
# 2.保存
Image = ImageGrab.grabclipboard()
Image.save("screen1.png")
# 以下步骤需要从百度AI获取,访问:https://ai.baidu.com/tech/ocr/general获取你的app密钥
APP_ID = "你的ID"
API_KEY = "你的key"
SECRET_KEY = "你的SECRET"
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
""" 读取图片 """
# 创建一个空的字符,用来存储内容
content = ""
# """ 调用通用文字识别(高精度版) """
with open("test.png", "rb")as f:
mage = f.read()
# 将获取内容写入到text文件夹汇总
text = client.basicAccurate(image)
for i in text["words_result"]:
content = content + "\n" + i["words"]
# 写入到text文件夹汇总
with open(r"C:\Users\hopecoder\Desktop\\result.txt", "a") as f:
# 清空文件内容,不需要时可注释掉
f.seek(0, 0)
f.truncate()
# 写入文件内容
f.write(content)
f.close()
测试
首先我们在网上找到一篇文字,并截图保存
运行我们的代码,以下是识别的结果:

怎么样,是不是很简单。