• python+Tesseract OCR实现截屏识别文字


    一、tesseract-ocr下载安装

    1、下载

    以下是关于Tesseract的常用网址
    下载地址:https://digi.bib.uni-mannheim.de/tesseract/
    官方网站:https://github.com/tesseract-ocr/tesseract
    官方文档:https://github.com/tesseract-ocr/tessdoc
    语言包地址:https://github.com/tesseract-ocr/tessdata

    在这里插入图片描述

    2、安装tesseract-ocr

    (1)选择语言

    在这里插入图片描述

    (2)开始安装

    在这里插入图片描述

    (3)同意许可

    在这里插入图片描述

    (4)选择安装的用户

    在这里插入图片描述

    (5)选择附带要安装的语言包

    此后会在安装过程中会自动从服务器下载该语言包。(这里不太建议勾选下载语言包,因为下载速度实在太慢。本教程后续会介绍如何拓展语言包,但如果已经翻墙的话,可以忽略这个建议。)

    默认即可。
    在这里插入图片描述

    (6)安装位置

    在这里插入图片描述

    (7)开始安装

    在这里插入图片描述

    (8)安装完成

    3、安装语言包

    (1)下载安装

    https://github.com/tesseract-ocr/tessdata

    项目较大,可以按需下载简体中文:

    在这里插入图片描述
    将下载的文件存放到该目录:D:\Program Files\Tesseract-OCR\tessdata

    在这里插入图片描述
    注:若小伙伴无法科学上网,可以从这里下载简体中文语言包:https://download.csdn.net/download/A_art_xiang/88334913

    (2)测试

    进入到Tesseract OCR安装目录:

    # 查看版本
    PS D:\Program Files\Tesseract-OCR> .\tesseract.exe -v
    tesseract v5.3.0.20221214
     leptonica-1.78.0
      libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
     Found AVX2
     Found AVX
     Found FMA
     Found SSE4.1
     Found libarchive 3.5.0 zlib/1.2.11 liblzma/5.2.3 bz2lib/1.0.6 liblz4/1.7.5 libzstd/1.4.5
     Found libcurl/7.77.0-DEV Schannel zlib/1.2.11 zstd/1.4.5 libidn2/2.0.4 nghttp2/1.31.0
    # 查看安装的语言包
    PS D:\Program Files\Tesseract-OCR> .\tesseract.exe --list-langs
    List of available languages in "D:\Program Files\Tesseract-OCR/tessdata/" (4):
    chi_sim
    chi_sim_vert
    eng
    osd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    二、python截屏识别文字

    1、安装必须的包

    pip install pyautogui
    pip install pytesseract
    
    • 1
    • 2

    2、截屏识别文字

    import pyautogui
    import pytesseract
    
    # 设置Tesseract的安装路径(如果它不在默认的系统路径中)
    pytesseract.pytesseract.tesseract_cmd = 'D:/Program Files/Tesseract-OCR/tesseract.exe'
    
    # 截取屏幕截图
    screenshot = pyautogui.screenshot()
    
    # 定义区域范围(左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标)
    region = (100, 100, 300, 200)
    
    # 从屏幕截图中使用指定区域创建一个新的图像对象
    custom_screenshot = screenshot.crop(region)
    
    # 将图像对象转换为灰度图像,以帮助提高文本识别的准确性
    custom_screenshot = custom_screenshot.convert('L')
    
    # 使用pytesseract进行文字识别
    text = pytesseract.image_to_string(custom_screenshot)
    
    # 打印识别的文本
    print(text)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    3、准确度

    英文准确度还行,中文准确度。。。一言难尽。应该是可以通过训练提高准确度的。

    参考资料

    https://blog.csdn.net/weixin_51571728/article/details/120384909

  • 相关阅读:
    ES kibana 创建索引快速脚本
    Python 获取线程返回值方法
    C语言单片机
    Java 接口
    函数指针
    【51单片机】LED与独立按键(学习笔记)
    【数字电路基础】格雷码、二进制码与格雷码的转换、独热码
    工单提交管理H5小程序开发
    苹果Mac优化清理工具CleanMyMac X2023版本
    安装Anaconda后配置Pytorch环境
  • 原文地址:https://blog.csdn.net/A_art_xiang/article/details/132848802