大家好,又见面了,我是你们的朋友全栈君。
前言
有时候我们百度出来一些自己需要信息后,想要直接复制粘贴(借鉴借鉴),提升工作效率,比如学校要求写什么加油稿,期末总结,思想汇报啊…额~,被请去办公室喝茶了,到时别说是博主教的啊!但是百度文库经常会限制我们复制的字数量,复制达到一定字数时便被限制,要开VIP,so,自己就用Python写了几行小程序,可以利用电脑自带的截图工具(其他任意截图工具也可以),获取到所截图片中的所有文字符号信息,然后就可以Ctrl+C,Ctrl+V 了你们懂的…把程序封装成一个桌面程序再使用,就不用每次都要打开Python编译器啦,不会封装成桌面程序的在这篇博客后面,博主会教大家哦!
运行效果
先上源码
'''大体思路'''
#1、图片的截取,并保存
#2、使用第三方的SDK识别图片上的文字
#导入keyboard框架
import keyboard #安装: pip install keyboard
from PIL import ImageGrab # pip install pillow
import time
from aip import AipOcr
#安装使用Python SDK有如下方式:1、如果已安装pip,执行pip install baidu-aip即可。
# #2、如果已安装setuptools,执行python setup.py install即可。
#文字识别,结合百度AI SDK来进行使用
""" 你的 APPID AK SK """
APP_ID = '你自己创建的 App ID'
API_KEY = '你自己创建的 Api Key'
SECRET_KEY = '你自己创建的 Secret Key'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
while 1:
# 截取图片(截图软件)
keyboard.wait(hotkey='ctrl+alt+s')
keyboard.wait(hotkey='ctrl+a')
time.sleep(0.1)
# 保存图片到电脑
image = ImageGrab.grabclipboard()
image.save('WzTp.jpg')
""" 读取图片 """
# def get_file_content(filePath):
# with open(filePath, 'rb') as fp:
# return fp.read()
# image = get_file_content('WzTp.jpg')
""" 调用通用文字识别(含位置高精度版) """
# client.accurate(image);
with open('WzTp.jpg', 'rb') as file:
image = file.read()
text = client.basicAccurate(image)
res = text['words_result']
for i in res:
print(i['words'])
分析实现
代码中用到了识别文字的第三方的SDK,SDK获取方法如下:百度搜索“百度AI开放平台”进入官网,或者点击该链接https://ai.baidu.com/直接进入,依次选择开放能力→文字识别→通用文字识别→立即使用→登录自己的百度账号(没有账号的需要自己注册一个)→点击创建应用,额~以下步骤不方便文字描述,还是看博主巨详细的图片步骤吧
""" 你的 APPID AK SK """
APP_ID = '你自己创建的 App ID'
API_KEY = '你自己创建的 Api Key'
SECRET_KEY = '你自己创建的 Secret Key'
把代码中的上面三项改成你自己申请创建的SDK,就可以运行啦,不信你自己试试 ̄へ ̄当然,你的pycharm编译环境没有安装有程序中用到的框架(库)的话程序是会报错的,自己pip安装一下就好了,还有就是我的截图工具快捷键是ctrl+alt+s,你们要把下面这段程序中打开截图工具的快捷方式,改成你自己的,keyboard.wait(hotkey='ctrl+a')
语句是获得截取图片中的文字信息,不喜欢Ctrl+a的也可以改成其他按键获取
# 截取图片(截图软件)
keyboard.wait(hotkey='ctrl+alt+s')
keyboard.wait(hotkey='ctrl+a')
好了,刚刚答应教大家将程序打包成可以直接点击运行的桌面程序了(已经会的同学可以鄙视我一会啊,(ー̀дー́)此处本博主小声bb了好久)开始吧,开始啦,准备啦,此时希望我别那么多废话的同学,你气不气[]( ̄▽ ̄)~*
将Python程序打包成.exe桌面应用程序
首先将完成的python工程打包成exe应用程序,需要用到pyinstaller模块,编译器还没有这个模块的同学,在控制台的【Terminal】pip install pyinstaller
安装一下就好了
开始打包了:
在【Terminal】中输入下面代码(XXXX是你的这个Python程序名)
pyinstaller -F XXXX.py
附参数集合:
–icon=图标路径(pyinstaller -F –icon=my.ico XXXX.py)
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件
打包成功的话,在你项目文件夹下的【dist】文件夹下,就可以找到生成的.exe应用程序啦
然后就可以随时双击.exe程序使用“截图取字”啦,有的同学可能会说QQ其实有自带的识别图片中的文字功能,或者其他我还不知道的方法,但这个主要是对刚学习Python没多久的同学练练手,是大佬的请忽略啊✧(^_-✿ ),还有就是这个只能是在电脑上使用的哦,还有什么不太清楚的,欢迎留言哦。
关于博主(我)(◍´꒳`◍)
这是我上大学学习软件工程专业以来,人生第一篇博客,最近要准备一个软件测试大赛(期望获得好成绩),近期可能没有时间更博了,第一次写博客不太会用这个东东,像写作文一样,表达不好大家见谅!
已经大三了,程序员这条路不知道自己能不能走下去,2019.11.10 21:02这也是个值得纪念的时间,希望三年后,来看这篇博客时自己已经有所为了吧!
学习更多的编程知识,获取我博客中的源码和寻找编程之外的乐趣,欢迎小伙伴入坑我的公众号编程之外,互相监督一起成长!??
编程之外 |
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143960.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...