大家好 我是Yhen
很久不见呀

今天给大家分享一个自制的小工具—截图取词 及其制作过程
本工具是用Python写的
程序及代码的获取方式会在文末

文章目录

  • 一.创作缘由
  • 二.项目简介
  • 三.思路分析
  • 四.代码演示
  • 五.程序及源代码获取方式

一.创作缘由

为什么会想到写这么一个小程序?

因为最近我经常会有文字识别的需求
每次文字识别都需要将文字截图选取下来
再使用文字识别工具读取截图进行识别
最后复制识别后的文字

整个过程给我的感觉就很繁琐 很累
如果需要频繁操作的话人估计要崩溃了
于是就萌生了一个想法
能否实现截图后自动帮我识别程序中的文字 我只需要直接粘贴就可以了呢

一顿倒腾以后 写出了这个 截图取词 程序

话不多说 马上开始今天的制作之旅

二.项目简介

名称:截图取词

功能:

 1.截图后自动识别图像中的文字并将识别结果保存到剪切板中,用户直接粘贴即可。
 2.识别成功后会有windows系统弹窗提示识别内容
 3.识别结果保存在result文件夹内,用户可随时查取

效果如下↓


特点:
①文字识别一步到位
截图自动识别,解决了传统文字识别需要保存图片到本地再读取图片进行识别的繁琐操作

②识别内容自动保存到剪切板 即截即用
文字识别后马上可以粘贴了,无需再手动复制识别内容

③弹窗提示识别结果
调用系统弹窗提示识别内容 识别效果好不好 一眼就知道

综上 我认为这个工具最大的特点就是 高效
视频介绍:
截图取词-自制最高效文字识别工具 即截即粘贴

三.思路分析

首先解剖一下需求及其需要用的python库
①检测并获取剪切板中的图片 ---------------------------------PIL
②调用文字识别接口识别截图中的文字----------------------aip
③识别内容写入剪切板-------------------------------------------win32clipboard
④调用系统弹窗展示识别结果----------------------------------win10toast_click

主要的步骤就是这么几步
接下来就用代码一一将它们实现吧

四.代码演示

首先导包

import os
import time
import requests
import win32con
from PIL import Image, ImageGrab
import win32clipboard
import datetime
from win10toast_click import  ToastNotifier
from aip import AipOcr

①检测剪切板中图像内容
使用PIL库的Image和ImageGrab 实现

im = ImageGrab.grabclipboard()
img_path = ".\\img.png"
if isinstance(im, Image.Image):print('获取到一张截图...')im.save(img_path)

检测剪切版中的图像内容
若是Image.Image类型的 则将该截图保存到本地

②识别截图中的文字

""" 你的 APPID AK SK """
APP_ID = '你的appid'
API_KEY = '你的api_key'
SECRET_KEY = '你的SECRET_KEY'client = AipOcr(APP_ID, API_KEY, SECRET_KEY)""" 读取图片 """def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()image = get_file_content(img_path)
print('正在进行识别...')""" 调用通用文字识别, 图片参数为本地图片 """# 高精度版
word = client.basicGeneral(image)
date = datetime.datetime.now().strftime('%Y-%m-%d_%H%M%S')exist_dir = os.path.exists(save_path)
if exist_dir ==False:os.mkdir(save_path)
try:str = word['words_result']print('识别成功')for x in str:data = x['words']with open(save_path + date+".txt", "a", encoding='utf-8') as f:f.write(data + '\n')f.close()

文字识别代用的是百度智能云的api
使用前需要将代码中的appi等字段替换成自己项目的appid
我在这篇文章中介绍了如何创建项目并查看自己的appid等项目信息
如果不熟悉的小伙伴可以看一下
Yhen手把手带你使用百度智能云①----项目的创建

调用文字识别后将识别结果保存到txt文件中,以当前的时间命名,避免覆盖

③识别结果写入到剪切板中

f=open(save_path +date+ ".txt", "r",encoding='utf-8')
text=f.read()
f.close()print('识别结果:\n'+text+'\n')win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT, text)
win32clipboard.CloseClipboard()

④调用系统弹窗展示识别结果

toaster = ToastNotifier()
# showcase
toaster.show_toast("识别内容已保存至剪切板","识别结果:" + '\n' + text,icon_path='./tip.ico', #图标路径 需将tip.ico 放在代码同一路径duration=3,threaded=True,
)

实现功能的四个步骤的代码就是这样啦
运行后目录下回生成一个result文件夹


里面以时间命名保存着我们每次识别的结果
也方便我们以后去查看

那么今天的分享就到这啦
如果对你有帮助的话 可以点个小赞嘛
让我看到自己的劳动成果还是有人认可的
谢谢啦
我们下期见~

五.程序及源代码获取方式

①程序获取

扫码关注我的微信公众号Yhen杂文铺 后台回复关键词截图取词即可获取哦.

②源代码获取

扫码关注我的微信公众号Yhen杂文铺 后台回复关键词截图取词源码即可获取哦.

【Python应用】自制截图取词小工具-- 解锁文字识别新姿势相关推荐

  1. python做测试小工具_自制快速冒烟测试小工具--基于python多线程(2)

    原标题:自制快速冒烟测试小工具--基于python多线程(2) 新书 速递 文 |愈知愈无知 快速冒烟测试小工具-(1)分析及准备 三.代码实现-封装 1. 创建包和文件夹目录 Config:存放配置 ...

  2. Python三步爬取VMgirls小姐姐图片

    Python三步爬取VMgirls小姐姐图片 具体思路 第一步:确定目标 第二步:分析目标网站 第三步:代码编写 具体思路 第一步:确定目标:寻找目标网站,我选择的网站是http://www.VMgi ...

  3. 计算机毕业设计Python+uniapp快递寄取微信小程序(小程序+源码+LW)

    计算机毕业设计Python+uniapp快递寄取微信小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pyth ...

  4. 用Python做了一个法律查询小工具,非常好用

    用Python做了一个法律查询小工具,非常好用 效果展示 准备工作 主要代码 哈喽兄弟,今天给大家分享一个Python tkinter制作法律查询小工具. 光爬虫大家也只能自己用用,就算打包了exe, ...

  5. 截图截屏小工具Snipaste简单易用

    截图截屏小工具Snipaste简单易用 百度网盘地址:https://pan.baidu.com/s/195T96Al-plXSxXezTdybqg

  6. python图像处理——图片区域颜色替换小工具

    python图像处理--图片区域颜色替换小工具 使用场景 图片区域颜色替换小工具使用python开发,可用于选取图片相同颜色的区域,可设定选择精度,可自由选择颜色,将区域的颜色进行替换.可使用橡皮擦工 ...

  7. 最强大的截图软件share X 添加英文文字识别

    最强大的截图软件share X 添加英文文字识别 一.插件简介 ShareX是一款免费的开源程序,可以截图,录屏,自动添加水印和阴影,除此之外,还有很多很多,比如OCR文字识别.屏幕录制.颜色拾取.哈 ...

  8. Python利用tkinter制作桌面翻译小工具

    很早之前写过一个金山翻译的爬取小程序,最近突然想到是不是可以拿来做个桌面小工具,于是花了一个下午加一晚上,折腾了一下. 运行平台:Windows Python版本:Python3.6 IDE:Subl ...

  9. 用python制作一款录屏小工具

    天我想学习记录的内容是 -- 如何用python实现录屏. 1 写在前面 作为一名测试,有时候经常会遇到需要录屏记录自己操作,方便后续开发同学定位.以前都是用ScreenToGif来录屏制作成动态图, ...

最新文章

  1. 推荐8个非常实用的办公软件和网站,效率提升
  2. 华为在5.5G未来技术演进的六个方向!
  3. php写js跳转页面,php实现页面的三种跳转
  4. matlab表白_520新玩法!MATLAB大神教你画爱心
  5. 神策数据徐美玲:数字化运营,从 1 到 100 的跨越
  6. Lync Server 2010的部署系列_第六章 安装配置拓扑生成器、前端Server、前端池
  7. 可以从应用服务器上传或者下载文件的T-code
  8. 李炎恢老师Dreamweaver视频课程(53课时)[已完结]
  9. home assistant gpio 温度计_Calsys 500BB辐射温度计
  10. webgis从基础到开发实践_webgis@基础GIS 开源资源汇总
  11. 百度移动搜索主要有如下几类结果构成
  12. 【数字信号处理】基于matlab GUI正选信号时域+频域分析【含Matlab源码 887期】
  13. 全国大学生电子设计竞赛综合测评硬件调试经验
  14. 比chatgpt稍逊的ai问答网站phind,专用于编写代码
  15. 第一个完整页面来啦~小米官网
  16. 语义分割(三)Unet++
  17. vue搜索(不区分大小写)通用
  18. 什么是敏捷开发,敏捷开发落地指南之迭代排期
  19. 根据我的经验如何进行数据科学,人工智能或大数据工作
  20. 拼多多店铺被投诉出现降权怎么办?【淘宝erp、打单发货接口】

热门文章

  1. CSS中的clear属性
  2. 中青旅实业携手中金资本推进债务重组具有标杆意义
  3. java wps 二次开发,Wps二次开发(POI)
  4. Cocos2dx-- 聊天系统之富文本(RichText)与字体对齐
  5. 百度地图SDK for Android【离线地图】
  6. TM影像各波段及波段组合情况
  7. 利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题
  8. 【区块链】以太坊Solidity编写一个简单的Hello World合约
  9. msysgit的使用教程
  10. mysql 主库innodb从库myisam_MySQL的两种常用数据库存储引擎:MyISAM与InnoDB