- 默认图片文件名:001.JPEG;截图放入剪切板内,图片会自动存储,无需输入文件名。
- Windows图片默认存储位置: c:\users\liutz(liutz是自己的用户名)
- 实验环境win10 20h2 + python3.85 vscode
import time
import os
# ENV :python 3.85 + win10 20H2
# 安装必要的库 pillow、baidu-aip、keyboard
# pip install keyboard,pillow -i http://pypi.douban.com/simple
# pip install baidu-aip
import keyboard
from PIL import ImageGrab
from PIL import Image
from aip import AipOcr
# print(os.getcwd()) # 默认工作目录 c:\users\liutz
""" 你的 APPID AK SK :以下内容:ai.baidu.com--通用OCR页面申请"""
APP_ID = '21571517'
API_KEY = 'dGgWcprUfQBHKM5UG2CdSzot'
SECRET_KEY = '3Gqe5MkzUdONgtppDceUutRGdpF7MVkU'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
keyboard.wait(hotkey="f4") # 按F4键,程序继续运行
# keyboard.wait(hotkey="ctrl+c")
time.sleep(0.1)
#指定屏幕范围截图
# size = (100,100,1660,800)
# img = ImageGrab.grab(size)
# img.save("C:/Users/liutz/Documents/cut.jpg")
# img.show()
# 读取剪切板的图片内容,如果剪切板内是文字,显示clipboard is empty.
im = ImageGrab.grabclipboard()
if isinstance(im,Image.Image):
print("Image:size:{} mode:{}".format(im.size,im.mode))
#im.save("C:/Users/liutz/Documents/grab_grabclipboard.jpg")
# im.save('001.jpg')
im = im.convert('RGB') #解决使用快捷键 win+shift+s 截图 存储图片出错问题
im.save("001.jpeg",format='jpeg')
im.show()
else:
print("clipboard is empty.")
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('001.jpeg')
#result = client.accurate(image) #高精文本识别
text = client.basicGeneral(image)
# print(text)
texts= text["words_result"]
txt = ""
for text in texts:
print(text["words"]) #逐行 输出识别结果
# txt = txt + text["words"] #识别的文本,连在一起输出
print(txt)