怎么用Python代码实现文字识别功能(python,开发技术)

时间:2024-05-07 05:45:36 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

1.环境和配置要求

整体是用Python实现,所需要使用的第三方库包括aip、PIL、keyboard、pyinstaller,如未安装,可在CMD中使用pip install Baidu-AIP/pillow/keyboard/pyinstaller指令安装。

百度接口

打开网址,如未注册请先注册,然后登录点击管理控制台,点击左侧产品服务→人工智能→文字识别,点击创建应用,输入应用名称如Baidu_OCR,选择用途如学习办公,最后进行简单应用描述,即可点击立即创建。会出现应用列表,包括AppID、API Key、Secret Key等信息,这些稍后会用到。

怎么用Python代码实现文字识别功能

怎么用Python代码实现文字识别功能

2.具体实现步骤

整个程序的大致思路是,在用截图软件获得截图之后,交给百度接口识别,并返回结果,当然,也可以是本地图片识别,我用的是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')

调用Baidu aip识别并打印文字

先用注册时生成的应用的AppID、API Key、Secret Key初始化应用,再读取保存到的图片并打印识别的文字。

withopen('img.png','rb')asfp:image=fp.read()text_list=client.basicAccurate(image)['words_result']fortextintext_list:print(text['words'])

运行结果如图所示:

怎么用Python代码实现文字识别功能

我们还可增加一个无限循环使得一直能截图。

调用打包程序生成专属识别文字小程序

用pyinstaller库实现小程序的打包,生成.exe文件,这样就能随时识别文字了。在命令行中用pyinstaller xxx.py来打包生成exe文件,最后在生成的dist文件夹即可找到xxx.exe文件如下:

怎么用Python代码实现文字识别功能

最后附上整个源代码:

#引入截图软件,获取文件到本地端,并识别图片文字,最后打包importkeyboard#控制键盘fromPILimportImageGrab#保存图片importtimefromaipimportAipOcr"""你的APPIDAKSK"""APP_ID='17076767'API_KEY='Af3Rj5HALMz5AN8prSgwTH4m'SECRET_KEY='******************'client=AipOcr(APP_ID,API_KEY,SECRET_KEY)i=0whileTrue:#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))"""调用通用文字识别(高精度版)"""withopen('img{}.png'.format(i),'rb')asfp:image=fp.read()text_list=client.basicAccurate(image)['words_result']fortextintext_list:print(text['words'])i+=1

附图图片识别案例

怎么用Python代码实现文字识别功能

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么用Python代码实现文字识别功能的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Java中的synchronized锁膨胀机制怎么实现下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18