IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【python实战】不让我复制?看我自制个带文字识别的截屏工具 -> 正文阅读

[Python知识库]【python实战】不让我复制?看我自制个带文字识别的截屏工具

哈喽,大家好,我是一条。

好久没出python的教程了,今天教大家做个好玩又实用的。

点赞,收藏准备好。

前言

不知道大家工作中有没有遇到这种情况

  • 产品不知道从哪搞来的截图就这么粘在需求文档上,你还得一个一个敲,气的我这……

  • 网上有个资料,死活就是不让你复制,气的我这……

  • 有篇技术文章,代码全是截图,气的我这……

ok。别气了,求人不如求自己,一条教你自制带文字识别的截图工具。

成品展示

现已将文件设置成开机自启动,并一直在后台运行;

当监听到有截屏操作时,保存剪切板的文件;

调用百度开放API进行文字识别;

将识别出的内容写入剪贴板;

可以看到,大约占20M的内存

待识别的图片

识别出的内容

现已将文件设置成开机自启动,并一直在后台运行;
当监听到有截屏操作时,保存剪切板的文件;
调用百度开放AP进行文字识别;
将识别出的内容写入剪切板;

不得不说,百度的准确率还是很高的。下面跟着一条来完成它吧

snipaste

我们需要借助这款好用的截图工具,微软商店和官网都可以下载。

完成后可以参考一条设置一下快捷键。

  • 截屏:shift+S
  • 截屏后自动复制到剪贴板:shift+A
  • 截屏后贴图:shift+T

监听键盘

下面就是监听键盘的截屏快捷键shift+A

因为我们想做到截屏后自动识别文字,不需手工做任何处理。

代码如下

import keyboard
import time
keyboard.wait(hotkey="shift+a")
    time.sleep(2)

sleep2秒是为了等待截图的过程。

这是肯定有人会有问题:如果我只想截图不想识别文字呢?

一条已经想到了,不想识别文字,可以用shift+S

保存截图

如何从剪贴板获取截图呢

上代码

from PIL import ImageGrab
image = ImageGrab.grabclipboard()
  image.save("screen.png")

百度文字识别

有了图片,就可以用百度文字识别了

怎么用呢?

创建应用

AI开放平台文档中心 https://ai.baidu.com/ai-doc

登陆后,到控制台建立一个自己的文字识别应用

创建应用后一定要记得领取免费资源

然后在管理应用找到自己的app_id

把这三个值复制下来,写代码需要用。

调用API

接下来就是发送一个request请求,调用百度的开放接口。

为了调用方便,需要引入一个封装好的库。

pip install baidu_aip

安装好之后,写代码

from aip import AipOcr
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"])

写入剪贴板

识别完了,怎么用呢

连复制都免了,直接写入到剪贴板

import pyperclip
clipstr=''
    # 读取图片
    with open("screen.png", 'rb') as f:
        image = f.read()
        # 调用百度API通用文字识别(高精度版),提取图片中的内容
        text = client.basicAccurate(image)
        result = text["words_result"]
        for i in result:
            clipstr=clipstr+i["words"]+"\n"
    pyperclip.copy(clipstr)

后台执行

想到要做就做绝,如何让他在后台一直执行,又不能影响我其他工作。

通过ocr.bat+ocr.vbs

新建ocr.bat

写入(ocr.py要和ocr.bat在同一目录)

python ocr.py

新建ocr.vbs

同样,写入。主要作用是不显示控制台窗口

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c ocr.bat",0

开机自启动

要做,就让他完全自动化

win+R,输入shell:startup,回车

将上面的三个文件全部复制进去

ok,大功告成!

源码

想直接拿到源码就可以用的小伙伴,评论区评论【截屏】

我是一条,一个在互联网摸爬滚打的程序员。

道阻且长,行则将至。大家的 【点赞,收藏,关注】 就是一条创作的最大动力,我们下期见!

注:关于本篇博客有任何问题和建议,欢迎大家留言!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 11:52:21  更:2021-07-17 11:52:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:40:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计