热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python截图识别_10几行代码,用python打造实时截图识别OCR

PythonPython开发Python语言10几行代码,用python打造实时截图识别OCR你一定用过那种“OCR神器”,可以把图片中的文字提取出来&

Python

Python开发

Python语言

10几行代码,用python打造实时截图识别OCR

你一定用过那种“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接口

你一定用过那种“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 pytesseract2)安装 tesseract-ocr.exe 配置环境变量3)修改pytesseract.py文件,将tesseract_cmd指向Tesseract-OCR的tesseract.exe的绝对路径。

参考文章

见评论第一条

import pytesseractfrom 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 pytesseractfrom aip import AipOcrfrom PIL import ImageGrab# 法二:利用百度APIAPP_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实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
author-avatar
xialaqimixyBo2_1940_321
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有