今天小编给大家分享一下怎么用Python代码实现文字识别功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
整体是用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
附图图片识别案例
以上就是“怎么用Python代码实现文字识别功能”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。