Python 文字识别


Posted in Python onMay 11, 2022

今天给大家分享的主题是用百度的接口实现图片的文字识别。

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初始化应用,再读取保存到的图片并打印识别的文字。

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'])

运行结果如图所示:

Python 文字识别

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

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

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

Python 文字识别

最后附上整个源代码:

#引入截图软件,获取文件到本地端,并识别图片文字,最后打包
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 文字识别

到此这篇关于十行Python代码实现文字识别功能的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python实现从字符串中找出字符1的位置以及个数的方法
Aug 25 Python
Python中文字符串截取问题
Jun 15 Python
python实现ping的方法
Jul 06 Python
Python实现截屏的函数
Jul 25 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 Python
python+django+rest框架配置创建方法
Aug 31 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
Feb 06 Python
Python实现爬取并分析电商评论
Jun 19 Python
opencv 分类白天与夜景视频的方法
Jun 05 Python
Python实现8种常用抽样方法
Jun 27 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 #Python
Python 匹配文本并在其上一行追加文本
May 11 #Python
Python 一键获取电脑浏览器的账号密码
May 11 #Python
图神经网络GNN算法
May 11 #Python
python神经网络ResNet50模型
May 06 #Python
python和anaconda的区别
May 06 #Python
python神经网络Xception模型
May 06 #Python
You might like
一个PHP的QRcode类与大家分享
2011/11/13 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
React中上传图片到七牛的示例代码
2017/10/10 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Python入门篇之列表和元组
2014/10/17 Python
python实现无证书加密解密实例
2014/10/27 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
考试诚信承诺书
2014/05/23 职场文书
员工安全责任书范本
2014/07/24 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
pandas进行数据输入和输出的方法详解
2022/03/23 Python