欢迎来到培训无忧网!

全国切换

咨询热线 400-001-5729

位置:培训无忧网 > 新闻资讯 > 电脑/IT > python培训 >  用Python开发截图识别工具

用Python开发截图识别工具

来源:培训无忧网 发布人:彭二胖

2021-11-22 22:40:38|已浏览:358次

        你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。

        今天,我们就来做一款实时截图识别的小工具。顾名思义,运行程序时,可以实时的把你截出来的图片中的文字识别出来。

        下次,当你想要复制“百度文库”中的内容时,不妨试试这个程序。

        源码解析

        1)等待用户截图
        此处需要借助贴图神器(Snipaste)其中“f1”是截图的快捷键,“ctrl+c”是把截图保存到剪贴板的快捷键。
        如果使用qq截图的话,需要把快捷键改为对应的“ctrl+alt+c”和“enter”

        顺便安利一波Snipaste,

        必备效率神器

        import keyboard # 利用截图软件(Snipaste)截图到剪贴板 # 输入键盘的触发事件 keyboard.wait(hotkey="f1")   keyboard.wait(hotkey="ctrl+c") time.sleep(0.1)
        上面这段代码执行之后,现在已经有一张图片等待在剪贴板里了。
        2)保存截图
        利用PIL模块的ImageGrab,可以把剪贴板里的那张图片,保存到当前的目录下,并命名为“screen.png”
        from PIL import ImageGrab # 把图片从剪切板保存到当前路径 image = ImageGrab.grabclipboard()   image.save("screen.png")
        3)识别截图中的文本
        法一pytesseract模块
        优点:免费,易用缺点:识别效果很一般,准确率不高
        使用方法介绍:
        1)pip install pytesseract
        2)安装 tesseract-ocr.exe 配置环境变量

        3)修改pytesseract.py文件,将tesseract_cmd指向Tesseract-OCR的tesseract.exe的绝对路径

        import pytesseract from PIL import Image # 法一:利用pytesseract模块 # 参数一:图片  # 参数二:简体中文 text = pytesseract.image_to_string(Image.open("screen.png"), lang='chi_sim') print(text)

        来看看效果:
        low的不行果然,要想精度高,还得用百度API
        法二百度API接口
        AI开放平台文档中心https://ai.baidu.com/ai-doc
        查看python语言的SDK文档
        点击右上角(控制台),登录自己的百度账号,创建“文字识别”的应用

                import pytesseract 

                from aip import AipOcr 

                from PIL import ImageGrab 

                # 法二:利用百度API 

                APP_ID = '你的 App ID' 

                API_KEY = '你的 Api Key' 

                SECRET_KEY = '你的 Secret Key' 

                client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

                 # 读取图片 

                with open("screen.png", 'rb') as f:     

                image = f.read()     

                # 调用百度API通用文字识别(高精度版),提取图片中的内容     

                text = client.basicAccurate(image)     

                result = text["words_result"]     

                for i in result:         

                print(i["words"])

        结果如文章首图:

        我的总结

        1)等待用户截图2)保存截图到当前目录3)识别截图中的文本

        其中识别截图文本,有两种方法:

        1)利用 pytesseract 模块

        2)利用百度API接口

        本文由培训无忧网千锋教育专属课程顾问整理发布,希望能够对想学习Python开发培训的同学有所帮助。更多Python开发培训课程欢迎关注培训无忧网Python开发培训频道或添加老师微信:15033336050

      注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-4530.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注python培训频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050

留下你的信息,课程顾问老师会一对一帮助你规划更适合你的专业课程!
  • 姓名:

  • 手机:

  • 地区:

  • 想学什么:

  • 培训无忧网
免 费 申 请 试 听
提交申请,《培训无忧网》课程顾问老师会一对一帮助你规划更适合你的专业课程!