在做一个数据标注过程中人工需要识别文字。
想了想写了一个小脚本,
大致过程这样的。
截图功能写了好久也没写明白,索性直接调用第三方的截图工具了,在采用qq或者微信截图时,截图完成后保存大致保存在剪切板所以直接抽取了剪切板中的文件。
使用 PIL 中ImageGrab获取剪切板文件,并保存在当前目录
1 image = ImageGrab.grabclipboard()
2 s= 'xxx.png'
3 image.save(s)
调用百度图片文字识别接口。取出输出的文字信息,可参考见百度ocr文档文字识别OCR (baidu.com)
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"
f = open(s, 'rb')
img = base64.b64encode(f.read())
params = {"image": img}
access_token = 'xxx'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
for i in response.json()['words_result']:
print(i['words'])
使用tkinter模块设计一个窗口
# 设置窗口
window = Tk()
window.title('qcc_nw0.1')
# 设置窗口大小
window.geometry('500x800')
# lable标签
l = Label(window, text='识图2.0', bg='green', fg='white', font=('Arial', 12), width=30, height=2)
l.pack()
# 设置文本输出栏的文本框
E1 = Text(window,width='100',height='100')
E1.insert("insert", txt')
E1.pack(side=RIGHT)
# 定义按钮
img_txt = Button(window, text='识图吗宝贝', font=('Arial', 10), width=15, height=1, command=s)
img_txt.pack()
window.mainloop()
完成;
看下完成后的效果