用python帮别人写了个文字识别程序
off999 2024-10-22 13:31 36 浏览 0 评论
文章目录
- 前言
- 一.需求分析
- 二.代码实现
- 1.百度文字识别
- 2.查看文档获取access_token
- 3.图片代码
- 4.代码部分解读
- 三.效果展示
私信小编01即可获取大量Python学习资源
前言
就在前几天一个大一学妹打破了我繁忙的生活,我纳闷了,直接问她啥事啊(老直男了)
原来是找我帮个忙,作为好学长那肯定得助人为乐啊…
话不多说,进入正题
一.需求分析
根据学妹的描述来看,就只是想要一个能识别图片文字的程序,那就不管啥排版了,直接依次识别算了,主要是忙…那我直接用百度的ocr就行了,半小时搞定它!
二.代码实现
1.百度文字识别
文字识别官方入口
https://ai.baidu.com/tech/ocr/general
点击立即使用,我们就白嫖吧,反正一个月也用不到1000次
创建应用,输入应用名称,这个随意哈,然后选一个文字识别-免费的,有钱的话当我没说。
下图创建成功。
一会API Key和Secret Key是要使用的。
2.查看文档获取access_token
接下来就要去看看文档了,看是怎么使用的
https://ai.baidu.com/ai-doc/OCR/1k3h7y3db
不会看文档的小伙伴,我直接就讲我需要的东西了,其余的大家自己学着看吧。
从文档来看,我们首先要获取一个东西——access_token
官网代码
# encoding:utf-8
import requests
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
response = requests.get(host)
if response:
print(response.json())
我的代码
import requests
def access_token():
url = 'https://aip.baidubce.com/oauth/2.0/token'
token_ = {
'grant_type': 'client_credentials',
# API Key
'client_id': '官网获取的AK',
# ecret Key
'client_secret': '官网获取的SK'
}
res = requests.post(url, data=token_)
res = res.json()
print(res)
access_token = res['access_token']
print(access_token)
return access_token
if __name__ == '__main__':
access_token()
官网说推荐使用post,那我们就用post,但是官方代码是用的get这种方法,其实结果都一样,都能得到需要的数据。只不过官方的代码还需要一步提取出access_token。
access_token = response.json()['access_token']
然后就能得到access_token了。
如果在这个过程中遇到错误,文档也有,而且会比我讲的详细,所以遇到问题的话可以先看文档,实在不行可以问我。
获取access_token的函数
def access_token():
url = 'https://aip.baidubce.com/oauth/2.0/token'
token_ = {
'grant_type': 'client_credentials',
# API Key
'client_id': '自己获取',
# ecret Key
'client_secret': '自己获取'
}
res = requests.post(url, data=token_)
res = res.json()
print(res)
access_token = res['access_token']
print(access_token)
return access_token
当我们需要用时直接调用就行了。
根据文档的说明,我们就开始写读取图片的代码了
3.图片代码
def raed_pic():
url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate"
request_url = url + "?access_token=" + access_token()
f = open('6.jpg', 'rb')
img = base64.b64encode(f.read())
# 参数看文档
params = {"image": img,
"language_type": "CHN_ENG",
"recognize_granularity": "small",
}
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
# print(response)
# res = response.json()
# print(res)
# 判断是否响应成功
if response:
# 保存读出文字的文件,自动创建
file_name = "yiming6.txt"
# 这个没说的了,就是写入操作
with open(file_name, 'w', encoding='utf-8') as f:
for j in res:
f.write(j["words"] + "\n")
4.代码部分解读
从json分析来看我们只要提取当中的words_result里面的words
三.效果展示
效果如下:
nice!当然可以写个循环然后直接遍历一个文件夹里面的所有图片,就可以得到每张图的文字了,再读取里面的文字放在同一个txt文件里面,有闲工夫的小伙伴可以试一试,我就不写了。最后也成功得到学妹的奶茶,就不上图片了,嘻嘻嘻~
相关推荐
- 戴尔电脑一键重装系统(戴尔怎么一键重装系统)
-
若您需要重装戴尔系统,可以按照以下步骤进行操作:首先备份重要数据,然后获取系统安装介质,可以是光盘或USB驱动器。接下来,进入BIOS设置,将启动顺序调整为从安装介质启动。重启电脑后,按照屏幕提示进行...
- 电脑ip地址配置异常怎么修复
-
如果您发现IP地址配置异常,可以按照以下步骤尝试解决:1.检查网络连接:首先检查计算机、路由器或交换机等设备的网线、电源和连接状态是否正常,并确保网络设备正确连接。2.确认IP地址:检查您的计算机...
- 怎么把win7电脑恢复出厂设置
-
1.首先我们打开电脑找到“计算机”点击打开。2.进入页面然后我们点击“Windows7(C:)”打开C盘。3.我们在C盘界面找到Windows7并点击打开。4.进入到Win7文件夹中找到并双击“Sys...
- ctrl c 和 ctrl v 怎么按(一键复制粘贴)
-
左手小指按Ctrl键,食指按C键或者V键具体在按Ctrl+C的时候,无名指放在Z键上,中指放在X键上,食指按C键如果你也用这种方式的话,可能和我一样,第一次按的时候不习惯手指这样去分工的感觉,但是你...
- 玩游戏cpu温度多少正常(玩游戏cpu温度多少正常 贴吧)
-
在游戏过程中,CPU温度的正常范围通常在40°C至80°C之间。然而,具体的正常温度取决于CPU型号、散热系统和环境条件等因素。一般来说,如果CPU温度超过80°C,就可能存在过热的风险,需要采取措施...
- idm下载器(如何卸载idm下载器)
-
截至2023年9月3日,IDM(InternetDownloadManager)是一款非常受欢迎的下载工具,但它并没有被禁用。IDM可以帮助用户更快速、稳定地下载文件,提供了多线程下载、断点续传等...
- 电脑按f8后无法开机,三个键搞定
-
电脑开机按F8没有反应可能有多种原因,以下是一些可能的解决方法:尝试重启电脑:有时候,系统会出现临时问题,重启可能有助于解决。检查键盘连接和状态:确保键盘连接正常,没有故障。如果在其他地方测试过键盘是...
- 重装win7系统不能正常启动(win7重装系统后进不了系统)
-
1、点击Win10正式版桌面找到“此电脑”图标,右击并从弹出的右键菜单中选择“属性”项。2、此时将打开“控制”窗口,在左侧找到“高级系统设置”按钮点击进入详细设置界面。3、待打开“系统属性”窗口后,切...
- win7professional是什么版本
-
Windows7Professional是专业版。Windows7包含6个版本,分别为Windows7Starter(初级版)、Windows7HomeBasic(家庭普通版)、Win...
- tplink路由器怎么管理(tplink路由器管理app叫什么)
-
1、进入到路由器的管理界面,点击设置向导然后点下一步。2、选择工作模式,选择AP:接入点模式,点击下一步1.AP是WirelessAccessPoint的简称,中文名称:无线接入点;AP模式也...
- 怎样把wifi网速调到最快(怎样把wifi网速调到最快速度)
-
解决的方式很多,试试以下方法: 一、路由器摆放位置不正确 为了让自家的房间显得干净、整洁,很多人会选择将路由器放在不显眼的地方,比如门后、墙角、电脑桌下面,这样确实不影响美观,但是网络信号容易被...
- 十大口碑最好的台式电脑(目前最好的台式)
-
一:联想电脑联想公司是全世界500强公司,也是全世界最大的pc电脑生产商之一。目前在点信息科技产业内全方位发展,是一家具有创造力的科技大公司,在全世界也就具有极高的品牌价值。二:戴尔电脑戴尔也是PC电...
- 显卡天梯图3050ti(显卡天梯图快科技)
-
RTX3050Ti的最新跑分达到了71803。根据Geekbench的信息,RTX3050Ti搭载20组CU,也就是2560个CUDA核心,GPU频率为1.49GH...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
