截圖 文字識別

主:python

import keyboard     #  鍵盤控制
from PIL import ImageGrab # 獲取剪切板的文件
import time
import sys

from baidu import BaiDuAPI          #   本身寫的 百度文字識別,

#  取圖
def show_p():
    if keyboard.wait('ctrl + alt + a') == None:  # 截圖
        if keyboard.wait('ctrl') == None:         # 告知程序截圖完了,
            time.sleep(0.01)
            im = ImageGrab.grabclipboard()  # 獲取剪切板的文件
            im.save('1.png')             # 保存剪切板圖片,


if __name__ =='__main__':
    d = BaiDuAPI('co.ini')
    for _ in range(sys.maxsize):
        show_p()

    text = d.shi_bie('1.png')
    print(text)

  

 

百度文字識別api

import configparser        #  讀寫配置文件
from aip import AipOcr    # pip install baidu-aip  百度文字識別


class BaiDuAPI( object ):       #  父類
    '''用於文字識別'''
    def __init__(self,filePath):
        target = configparser.ConfigParser()

        #  將百度獲得 KEY 寫入 co.ini,
        target.read( filePath, encoding='utf-8-sig' )
        app_id = target.get('個人 KEY','APP_ID')
        api_key = target.get('個人 KEY','API_KEY')
        secret_key = target.get('個人 KEY','SECRET_KEY')
        self.client = AipOcr(app_id, api_key, secret_key)       # 百度提供

    @staticmethod       # 靜態方法
    def get_a(filePath):
        '''用於讀取圖片'''
        with open( filePath,'rb' ) as f:
            return f.read()

    def shi_bie(self,filePath):
        '''將圖片成文字'''
        image = self.get_a(filePath)
        texts = self.client.basicGeneral(image)      #  百度提供
        # print(texts)
        # texts = texts['words_result'][0]['words']
        te = ''
        for i in texts['words_result']:
            #        取到最後,若是沒有 words 返回 空
            te = te + ''.join(i.get('words','') )
        # print(te)
        return te

if __name__ =='__main__':
    d = BaiDuAPI('co.ini')
    text = d.shi_bie('1.png')
    print(text)

 

 百度文字識別中用到的 KEY,用 co.ini導入app

[個人 KEY]
APP_ID = 123
API_KEY = abc
SECRET_KEY = jkl
;client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
相關文章
相關標籤/搜索