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的Django应用程序解决AJAX跨域访问问题的方法
May 31 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
对python使用http、https代理的实例讲解
May 07 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
对python中array.sum(axis=?)的用法介绍
Jun 28 Python
Numpy之文件存取的示例代码
Aug 03 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
django 快速启动数据库客户端程序的方法示例
Aug 16 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
python 装饰器功能与用法案例详解
Mar 06 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
两种php调用Java对象的方法
2006/10/09 PHP
请离开include_once和require_once
2013/07/18 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
python计算N天之后日期的方法
2015/03/31 Python
Python中的with...as用法介绍
2015/05/28 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
python记录程序运行时间的三种方法
2017/07/14 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
Python处理中文标点符号大集合
2018/05/14 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
经典C++面试题一
2016/11/06 面试题
分布式数据库需要考虑哪些问题
2013/12/08 面试题
医学专业大学生求职的自我评价
2013/11/27 职场文书
工作决心书
2014/03/11 职场文书
爱国演讲稿400字
2014/05/07 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
综合素质评价自我评价
2015/03/06 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python
pycharm无法安装cv2模块问题
2022/05/20 Python