当前位置: 首页 > news >正文

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

文章目录

  • 一、tesseract-ocr下载安装
    • 1、下载
    • 2、安装tesseract-ocr
      • (1)选择语言
      • (2)开始安装
      • (3)同意许可
      • (4)选择安装的用户
      • (5)选择附带要安装的语言包
      • (6)安装位置
      • (7)开始安装
      • (8)安装完成
    • 3、安装语言包
      • (1)下载安装
      • (2)测试
  • 二、python截屏识别文字
    • 1、安装必须的包
    • 2、截屏识别文字
    • 3、准确度
  • 参考资料

一、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

二、python截屏识别文字

1、安装必须的包

pip install pyautogui
pip install pytesseract

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)

3、准确度

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

参考资料

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

相关文章:

  • docker安装es docker安装Elasticsearch windows linux
  • unity 实现多个物体或单个物体 让其单击物体让其显示再次单击让其隐藏
  • CAN - 基础
  • 网络爬虫-----爬虫的分类及原理
  • 9.19(复习9.18,9.16,9.12)
  • 淘宝天猫商品评论接口
  • Redis——渐进式遍历和数据库管理命令
  • C语言的编译过程详解
  • 【算法新题】TJOI2017-异或和
  • MySQL定时删除XX天数据
  • kubevirt v1.1.0-alpha.0 offline deploy on kubernetes v1.23.17
  • python多进程multiprocessing
  • nodejs 如何在npm发布自己的包 <记录>
  • JavaScript 期约与异步函数的学习笔记
  • 自定义事件的使用
  • 【FAQ】安防监控系统/视频云存储/监控平台EasyCVR服务器解释器出现变更该如何修改?
  • 代理IP与Socks5代理:跨界电商时代的网络安全与数据引擎
  • 测试与FastAPI应用数据之间的差异
  • Spring Boot虚拟线程与Webflux在JWT验证和MySQL查询上的性能比较
  • arcgis拓扑检查实现多个矢量数据之间消除重叠区域
  • 夜读丨秦腔里的乡魂
  • 三部门:对不裁员少裁员的参保企业实施稳岗返还政策至今年底
  • 解除近70家煤电厂有毒物质排放限制,特朗普能重振煤炭吗?
  • 世遗X时尚,七匹狼这场大秀秀出中国文化独特魅力
  • 关于沪泰创新合作,泰州市委书记姜冬冬谈到了三个“合”
  • 如此城市|漫步瑞金医院展览,艺术可以成为一种“社会雕塑”