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检测远程服务器tcp端口的方法
Mar 14 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
Python入门之三角函数tan()函数实例详解
Nov 08 Python
Python用sndhdr模块识别音频格式详解
Jan 11 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
Python中shapefile转换geojson的示例
Jan 03 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
使用python实现kNN分类算法
Oct 16 Python
python matplotlib折线图样式实现过程
Nov 04 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
Python 全局空间和局部空间
Apr 06 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跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
ECMAScript6--解构
2017/03/30 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
Python中的包和模块实例
2014/11/22 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
Weblogic的布署方式
2013/08/23 面试题
extern是什么意思
2016/03/10 面试题
优秀中专生推荐信
2013/11/17 职场文书
建筑公司文秘岗位职责
2013/11/29 职场文书
环保公益广告语
2014/03/13 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
门面房租房协议书
2014/08/20 职场文书
新教师培训心得体会
2014/09/02 职场文书
学前教育专业求职信
2014/09/02 职场文书
企业2014年度工作总结
2014/12/10 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书