python检索屏幕文本

输入字符串,检索当前电脑屏幕,返回字符串所在的语句和字符串的坐标。

import io
from aip import AipOcr
from PIL import ImageGrab

def baiduOCR(string):

    #百度文字识别
    APP_ID = '18******'
    API_KEY = 'Dn***************'
    SECRECT_KEY = 'lA************************'
    client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)
    
    #截屏
    img = ImageGrab.grab()
    #字节容器
    img_b = io.BytesIO()
    #image转换为png
    img.save(img_b, format='PNG')
    #存入容器
    img_b = img_b.getvalue()
    
    options = {"recognize_granularity": "small"}
    message = client.general(img_b, options)
    location = dict()
    for f in message['words_result']:
        n = f['words'].find(string)
        if n != -1:
            l = len(string)
            tops = list()
            heights = list()
            left = f['chars'][n]['location']['left']
            right = f['chars'][n+l-1]['location']['left'] + f['chars'][n+l-1]['location']['width']
            for i in f['chars'][n:n+l]:
                tops.append(i['location']['top'])
                heights.append(i['location']['height'])
            top = min(tops)
            bottom = top + max(heights)
            location = {'top': top, 'bottom': bottom, 'left': left, 'right': right}
            print(f['words'],location)
            break
            
if __name__ == "__main__":
    while True:
        string = input('检索屏幕:')
        baiduOCR(string)

 

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值