首先需要拥有百度智能云的接口,可以参照我的另一篇文章注册注册。
然后需要有下列各种包,可以通过 “pip install+包名”导入
最后是写代码,下面是示例代码。
from aip import AipOcr
import keyboard
from PIL import ImageGrab
import time
import pyperclip
class BaiduApi():
'''图片文字识别调用接口'''
def __init__(self):#初始化方法
app_id=''#这三项需要自行在百度智能云注册
api_key=''
secret_key=''
self.client=AipOcr(app_id,api_key,secret_key)#加self全局可用
def picture2text(self,filepath):
image=self.getPicture(filepath)#调用getPicture方法转化为二进制文件
texts=self.client.basicGeneral(image)#调用封装好的AipOcr
allTexts=''#得到的结果是字典类型,下面转化为字符串类型
if texts!=None:
for word in texts.get('words_result'):
allTexts=allTexts+word.get('words')
return allTexts
@staticmethod
def getPicture(filepath):#打开图片,得到二进制文件
with open(filepath,'rb') as fp:
return fp.read()
def screenShot():
'''用于截图保存'''
if keyboard.wait(hotkey='ctrl+shift+print screen')==None:#截图开始,我的截图的快捷键是ctrl+shift+PrtSc,可根据实际更改
if keyboard.wait(hotkey='enter')==None:#可作为截图复制成功标志,可删除
im=ImageGrab.grabclipboard()#自剪切板取得图片
im.save("Picture.png")#保存文件
if __name__ == "__main__":
baiduapi=BaiduApi()#读取使用的百度云接口数据
for i in range(20):#运行次数,可自行改变
screenShot()#截图
text=baiduapi.picture2text('Picture.png')#将保存的图片处理得到文字结果
pyperclip.copy(text)#将文字保存到剪切板
可以将Python文件转化为可执行文件,方便电脑中没有python环境的用户使用,这次需要pyinstaller包,与之前一样,可以使用pip命令导入。使用cmd命令切换到py文件所在目录,然后输入。
pyinstaller -F 文件名.py
即可产生以.exe结尾的可执行文件,