用Python实现文字识别的代码怎样写
Admin 2022-09-09 群英技术资讯 665 次浏览
关于“用Python实现文字识别的代码怎样写”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。1.环境和配置要求
整体是用Python实现,所需要使用的第三方库包括aip、PIL、keyboard、pyinstaller,如未安装,可在CMD中使用pip install Baidu-AIP/pillow/keyboard/pyinstaller指令安装。
打开网址,如未注册请先注册,然后登录点击管理控制台,点击左侧产品服务→人工智能→文字识别,点击创建应用,输入应用名称如Baidu_OCR,选择用途如学习办公,最后进行简单应用描述,即可点击立即创建。会出现应用列表,包括AppID、API Key、Secret Key等信息,这些稍后会用到。


整个程序的大致思路是,在用截图软件获得截图之后,交给百度接口识别,并返回结果,当然,也可以是本地图片识别,我用的是QQ自带截图软件,快捷键CTRL+ALT+A用来打开截图,在选中所截区域后,按Enter键即可保存到粘贴板中,也可用其他截图软件。
keyboard类库是用来监听键盘动作的,所以在有快捷键按下之后,便会有相应动作。并用PIL中的ImageGrab来获取到剪切板中的图片并生成本地图片文件。
#1.截图
keyboard.wait('ctrl+alt+a')
print('开始截图')
keyboard.wait('enter')
print('保存截图')
time.sleep(0.1)
#2.保存图片
image = ImageGrab.grabclipboard()
image.save('img.png')
先用注册时生成的应用的AppID、API Key、Secret Key初始化应用,再读取保存到的图片并打印识别的文字。
with open('img.png', 'rb') as fp:
image = fp.read()
text_list = client.basicAccurate(image)['words_result']
for text in text_list:
print(text['words'])
运行结果如图所示:

我们还可增加一个无限循环使得一直能截图。
用pyinstaller库实现小程序的打包,生成.exe文件,这样就能随时识别文字了。在命令行中用pyinstaller xxx.py来打包生成exe文件,最后在生成的dist文件夹即可找到xxx.exe文件如下:

最后附上整个源代码:
#引入截图软件,获取文件到本地端,并识别图片文字,最后打包
import keyboard #控制键盘
from PIL import ImageGrab #保存图片
import time
from aip import AipOcr
""" 你的 APPID AK SK """
APP_ID = '17076767'
API_KEY = 'Af3Rj5HALMz5AN8prSgwTH4m'
SECRET_KEY = '******************'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
i = 0
while True:
#1.截图
keyboard.wait('ctrl+alt+a')
print('开始截图')
keyboard.wait('enter')
print('保存截图')
time.sleep(0.1)
#2.保存图片
image = ImageGrab.grabclipboard()
image.save('img{}.png'.format(i))
""" 调用通用文字识别(高精度版) """
with open('img{}.png'.format(i), 'rb') as fp:
image = fp.read()
text_list = client.basicAccurate(image)['words_result']
for text in text_list:
print(text['words'])
i+=1
附图图片识别案例

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
怎样用Python实现文本的滚动播放?对于文本滚动播放的应用场景有很多,我们经常能在网站的顶部看到,文本滚动播放功能也是比较实用的,下面我们就来看看用Python怎样写文本的滚动播放功能。
pandas提升计算效率有哪些方法?在Python中我们使用pandas来处理数据是非常方便的,但是一些新手可能对于提升pandas的计算效率的方法不是很了解,对此这篇文章就主要给大家介绍几个pandas提升计算效率的方法。
本文主要向大家介绍Python中实现拼接的6种方法:1、加号法;2、逗号法;3、直接拼接法;4、格式化法;5、join函数法;6、多行字符串拼接法。详情请看本文。
python如何实现单因素分析线性拟合及地理编码?下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
这篇文章主要为大家详细介绍了python实现双向链表原理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008