程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(1)

python检索屏幕文本

发布于2020-03-12 10:49     阅读(1410)     评论(0)     点赞(17)     收藏(1)


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

  1. import io
  2. from aip import AipOcr
  3. from PIL import ImageGrab
  4. def baiduOCR(string):
  5. #百度文字识别
  6. APP_ID = '18******'
  7. API_KEY = 'Dn***************'
  8. SECRECT_KEY = 'lA************************'
  9. client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)
  10. #截屏
  11. img = ImageGrab.grab()
  12. #字节容器
  13. img_b = io.BytesIO()
  14. #image转换为png
  15. img.save(img_b, format='PNG')
  16. #存入容器
  17. img_b = img_b.getvalue()
  18. options = {"recognize_granularity": "small"}
  19. message = client.general(img_b, options)
  20. location = dict()
  21. for f in message['words_result']:
  22. n = f['words'].find(string)
  23. if n != -1:
  24. l = len(string)
  25. tops = list()
  26. heights = list()
  27. left = f['chars'][n]['location']['left']
  28. right = f['chars'][n+l-1]['location']['left'] + f['chars'][n+l-1]['location']['width']
  29. for i in f['chars'][n:n+l]:
  30. tops.append(i['location']['top'])
  31. heights.append(i['location']['height'])
  32. top = min(tops)
  33. bottom = top + max(heights)
  34. location = {'top': top, 'bottom': bottom, 'left': left, 'right': right}
  35. print(f['words'],location)
  36. break
  37. if __name__ == "__main__":
  38. while True:
  39. string = input('检索屏幕:')
  40. baiduOCR(string)

 



所属网站分类: 技术文章 > 博客

作者:众神之战

链接:https://www.pythonheidong.com/blog/article/253862/83682466bb6ca01644b5/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)