手把手教截图识别文字

  • 2019 年 10 月 6 日
  • 筆記

最近不想打字,直接截图然后识别出来文字,不就可以不用打吗?我就是太懒了。

keyboard

这个库让你可以控制和监控输入设备。

对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:

安装

pip install keyboard==0.9.3  

截图功能完成

当我按下alt+a就开始截图,注意要登着微信,然后就enter保存

import keyboard  from PIL import ImageGrab  import time    def screen():      print('开始截图')      # 使用微信的截图热键      keyboard.wait('alt+a')      # 保存      keyboard.wait('enter')      # 图片保存需要时间      time.sleep(0.5)      # 读取剪切板的图片      image = ImageGrab.grabclipboard()      # 保存图片      image.save('screen.jpg')      print('图片保存完成')      if __name__ == '__main__':      screen()  

效果如下

截图识别

使用百度云来进行识别

百度的技术,阿里的运营,腾讯的产品,江湖常话。

创建文字识别的应用

官方的教程

https://cloud.baidu.com/doc/OCR/index.html

记得pip install aip

from aip import AipOcr    """ 你的 APPID AK SK """  APP_ID = ''  API_KEY = ''  SECRET_KEY = ''    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)  """读取图片"""  def get_file_content(filepath):      with open(filepath, 'rb') as f:          return f.read()  def get_img_content(img):      image_content = ''      content = client.basicAccurate(image=img)      # print(content)      for words in content['words_result']:          # print(words)  # 字典          image_content += words['words']      print(image_content)      with open('demo.txt','w',encoding='utf-8') as f:          f.write(image_content)    if __name__ == '__main__':      # screen()      img = get_file_content('screen.jpg')      get_img_content(img)  

效果如下

pyinstaller打包

一定要在代码最后面加上input(),这样打开exe不会一散而过

执行pyinstaller -F demo.py,搞定

还不如直接复制粘贴,但是如果复制不了就派上用场了