用python帮别人写了个文字识别程序
文章目录
- 前言
- 一.需求分析
- 二.代码实现
- 1.百度文字识别
- 2.查看文档获取access_token
- 3.图片代码
- 4.代码部分解读
- 三.效果展示
前言
就在前几天一个大一学妹打破了我繁忙的生活,我纳闷了,直接问她啥事啊(老直男了)
原来是找我帮个忙,作为好学长那肯定得助人为乐啊…
话不多说,进入正题
一.需求分析
根据学妹的描述来看,就只是想要一个能识别图片文字的程序,那就不管啥排版了,直接依次识别算了,主要是忙…那我直接用百度的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 requestsdef 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_tokenif __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
关于base64,大家可以看这篇文章
https://www.cnblogs.com/longwhite/p/10397707.html
三.效果展示
效果如下:
nice!当然可以写个循环然后直接遍历一个文件夹里面的所有图片,就可以得到每张图的文字了,再读取里面的文字放在同一个txt文件里面,有闲工夫的小伙伴可以试一试,我就不写了。最后也成功得到学妹的奶茶,就不上图片了,嘻嘻嘻~
喜欢的小伙伴记得点赞!需要源码可以加我qq:2024810652
用python帮别人写了个文字识别程序相关推荐
- 自己帮别人写的网站可以公开源码吗_雷军靠写代码赚第一个 100 万,马化腾亲自写腾讯网,码农出身的大佬...
作者 | 夏弢 本文经授权转载自创业邦(ID:ichuangyebang) 一提到程序员,很多人脑海里马上会出现这些刻板标签: 可事实上,有一个词似乎更能概括: 改变世界 程序改变世界,已经有几十年了 ...
- 计算机课给别人交作业检讨书,帮别人写作业检讨书
帮别人写作业是一件祸害他人的事情,因此,一定要写一份帮别人写作业检讨书好好反省自己的错误对自己的错误进行深刻的认识,避免再犯.学习啦小编为大家整理了一些帮别人写作业检讨书,欢迎参阅. 帮别人写作业检讨 ...
- 计算机课给别人交作业检讨书,帮别人写作业检讨书范例
帮别人写作业检讨书范例 相关内容: 课堂是进行教学活动时的教室,泛指进行各种教学活动的场所,每个人学知识的地方.下面是第一范文网小编为你整理的200字课堂上做作业检讨书,希望对你有用!200字课堂上做 ...
- python语言翻译成中文-Python 神工具包!翻译、文字识别、语音转文字统统搞定...
原标题:Python 神工具包!翻译.文字识别.语音转文字统统搞定 今天给大家介绍一款 Python 制作的实用工具包,包含多种功能: 音频转文字 文字转语音 截图 OCR文字识别 复制翻译 举个例子 ...
- 三十行代码教你做个通用文字识别程序
三十行代码教你做个通用文字识别程序 准备 开始编程 测试 准备 在开始敲代码前,我们先做一些准备.我们的这个通用文字识别程序的原理很简单,就是通过API调用百度智能云提供的免费的通用文字识别(标准版) ...
- 自己写一个控制台人脸识别程序
自己写一个控制台人脸识别程序 其中用到的技术:IO文件流,api,json,集合 package com.aa; /****************************************** ...
- Python+ADB实现自动点赞和文字识别
原文发表在:微信公众号[老潘家的潘老师] 项目github地址:https://github.com/divertingPan/Auto_Lottery 目录 为什么要做这个呢? 自动点赞 获取点击的 ...
- 利用python+百度AI搞定一个文字识别功能同时转换成语音
一些准备 使用百度的AI开放平台,首先你得有个百度的开发者账号,相信你有百度云的话应该都会有,没有的话简单注册一下就可以了. 然后进入控制台选择人工智能-文字识别去创建个应用,这样就会生成对应的App ...
- 【Python】调用百度云API文字识别服务 OCR
# encoding:utf-8 # !/usr/local/bin/python3# 百度云:文字识别服务 # 应用名称:文字识别练习项目import urllib3 from urllib.par ...
- Python 神工具包!翻译、文字识别、语音转文字统统搞定
今天给大家介绍一款 Python 制作的实用工具包,包含多种功能: 音频转文字 文字转语音 截图 OCR文字识别 复制翻译 举个例子,比如截图 OCR 文字识别就有很多实用场景. 常会遇到有些 PDF ...
最新文章
- layer.load 支持文字内容
- XML解析方式(来自 传智播客 方立勋视频教程)
- python最基本的规则是什么_2015/8/26 Python基础(1):基本规则及赋值
- UI组件之AdapterView及其子类(四)Gallery画廊控件使用
- 快速判断list是否为空
- rust开发环境_Rust 环境搭建
- python识图找图_利用python进行识别相似图片(二)
- Altlas M1 and Tips of Debugger Visualizers
- 职场调侃:工作五年之后的十三种痛!
- Spark入门实战系列--6.SparkSQL(下)--Spark实战应用
- springboot 打印slf4_SpringBoot打印请求体与响应体
- Qlocker勒索病毒 7Z勒索病毒 7Z压缩包密码破解
- 19款国产手机无一幸免:15分钟破解人脸识别,打印眼镜让刷脸形同虚设
- 【CSS】CSS样式的优先级
- 苹果手机配什么无线蓝牙耳机好?适配苹果手机的蓝牙耳机推荐
- 《Heterogeneous Information Network Embedding for Recommendation》 论文分析
- 第一章 厕所被揍 校园江湖
- IBM DB2 Alphablox 8.3 build 149 安装过程 部署 WebSphere Application Server 6.0.1上
- 农夫约翰修篱笆-堆排序
- 使用 AccountManager 实现系统内共享账号