三十行代码教你做个通用文字识别程序
三十行代码教你做个通用文字识别程序
- 准备
- 开始编程
- 测试
准备
在开始敲代码前,我们先做一些准备。我们的这个通用文字识别程序的原理很简单,就是通过API调用百度智能云提供的免费的通用文字识别(标准版)。
如果你没有相关账号的话,下面是教你怎么注册,如果有,请忽略:
首先访问AI Studio并注册相关账号
然后点击菜单栏的“更多”——“文档”:
接下来点击右上角的“控制台”:
左边的菜单来有“文字识别”,点击:
我这里已经创建了应用,如果没有的话,是会显示已建应用0个,接下来就是创建应用:
选择个人就好,名字、简介也随意,其余默认就好,创建好后,我们可以进入管理应用:
可以看到应用的API Key和Secret Key,待会会用到:
好了,准备过程到这里就结束了,我们开始上代码。
开始编程
先上代码:
# encoding:utf-8import requests
import base64'''
通用文字识别
'''
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=SPfIteu7L3vVVjfCHHUekVkK&client_secret=HZs1UKLggufge2aKaPGNHeSt5u7F4Hoq'
response = requests.get(host)
if response:access_token = response.json()['access_token']request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
# 二进制方式打开图片文件
f = open('C:\\Users\\沧海云帆\\Desktop\\13.jpg', 'rb')
img = base64.b64encode(f.read())params = {"image":img}
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:words = response.json()['words_result']print ("图像文字识别结果:")for word in words:print(word['words'],end='')
先看前面一部分:
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())
前面创建应用得到的AK,SK,填入host变量里,这样做的主要目的是获得access_token,这个是必须要的参数,后面会用到,包含在返回的response.json()的’access_token’中。
第二部分:
import requests
import base64'''
通用文字识别
'''request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
# 二进制方式打开图片文件
f = open('[本地文件]', 'rb')
img = base64.b64encode(f.read())params = {"image":img}
access_token = '[调用鉴权接口获取的token]'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:print (response.json())
这一部分没什么好讲的,就把自己的图片文件填进去,获得的鉴权填进去,然后就可以点击运行了,
{"log_id": 2471272194, "words_result_num": 2,"words_result": [{"words": " TSINGTAO"}, {"words": "青島睥酒"}]
}
这是返回的json文件的样例,识别出的文字就在“words_result”下,所以我们可以简单修饰一下,毕竟我们只需要识别出的文字。
测试
代码写好了,我们来测试一下,就随便从网上截个图吧,图片最好是.jpg格式:
运行代码看看:
文字:
捧碎瓷,落地有声,掌心有痕。时光远去,爱的碎瓷,光亮依旧,却带着某种惆怅的,点点落寞,爱的不死守望,爱的不老葱茏。相遇红尘,情缘深深,曾经几何?跌入爱的深谷,如今看透,爱也让人蹉
跎,愿化身成蝶,只为坚守一份不老情歌。—题记
总的来说还是不错的,当然毕竟是免费的,有些文字的识别还是有问题的,当然也可能是我的截图不太清晰的问题。
三十行代码教你做个通用文字识别程序相关推荐
- Python只需要三十行代码,打造一款简单的人工语音对话
@Author:Runsen 1876年,亚历山大·格雷厄姆·贝尔(Alexander Graham Bell)发明了一种电报机,可以通过电线传输音频.托马斯·爱迪生(Thomas Edison)于1 ...
- 程序员的浪漫:三十行代码实现用她的名字作幅画
程序员的浪漫:三十行代码实现用她的名字作幅画 hello,各位小伙伴们大家好,看这篇文章的有很多新的朋友,有估计有不少的老朋友,首先做个自我介绍,我是一灰灰,码农界的资深搬运工:今天呢,没有站在我身边 ...
- Python三十行代码实现简单人脸识别
Python三十行代码实现简单人脸识别 一.库介绍 opencv,face_recognition,numpy,以及dlib 注意: 安装opencv速度可能过慢,需要更换国内镜像源,参考:https ...
- 阿里云OCR通用文字识别和自定义模板OCR识别Python代码及一站式教程
阿里云OCR 一.通用文字识别 1.开通 2.PY3代码 3.测试结果 二.自定义模板识别 1.开通 2.进行自定义模板 3.代码 三.最后 一.通用文字识别 1.开通 开通链接:https://ma ...
- C#:调用百度接口实现文字识别(准备做一个截图文字识别软件)
近期在做毕业设计,发现查看论文的时间太多了,然而百度文库或是PDF的文档要想复制真是费劲至极,于是准备做一个个人使用的截图文字识别软件,可以提高工作效率.那下面就做个简单介绍. 第一步:获取到你的AP ...
- java实现自动识别验证码并自动填写提交(调用百度通用文字识别OCR接口+大图找小图之图像识别算法+模拟鼠标键盘动作)
一.使用的技术: 1.调用百度AI通用文字识别OCR接口 2.图像识别算法 二.实现方案与步骤: 1.得到验证码的图片的坐标:先将验证码截图,然后再对整个电脑屏幕截图,通过大图找小图的方法,计算出小图 ...
- HarmonyOS之AI能力·通用文字识别技术
一.通用文字识别技术 通用文字识别的核心技术是 OCR(Optical Character Recognition,光学字符识别). OCR 是一种通过拍照.扫描等光学输入方式,把各种票据.卡证.表格 ...
- 通用文字识别API推荐
今天给大家分享推荐一款很不错的API -- 通用文字识别OCR,多场景.多语种.高精度的整图文字检测和识别服务,多项指标行业领先,可识别中.英.日.韩.法.德多种语言.APISpace 上面有各种各样 ...
- asp写的百度ocr识别文字-通用文字识别(高精度版)源码下载
今天接到一个客户需求,需要用ASP写一个百度OCR文字识别代码,他的程序都是用ASP写的,所以我们也需要用ASP给他实现百度OCR文字识别,我们在百度AI网站上启用了通用文字识别高精度版,利用高精度板 ...
最新文章
- hexo博客更新主题后上传Git操作
- matlab去除图片水印_Python利用OpenCV去除图片水印
- 在Nginx和Apache服务器配置https
- PHP rss聚合,利用PHP和AJAX创建RSS聚合器
- S5PV210开发 -- 通信
- 看C++文档的小知识
- 共享单车数据集_共享单车项目数据可视化展示
- 1196 骨牌铺放(宁波大学oj)
- 定义你自己的Logj4 输出,比如 数据库连接池 database connect pool
- GRUB 和 GRUB2 的区别
- 《高性能Linux服务器构建实战》——2.2节开始安装Varnish
- linux matconvnet编译,Windows/Linux平台下编译安装MatConvNet
- Xunsearch体验Demo
- LOGO特训营 第四节 字体设计的重要性
- java整理快捷鍵_常用Eclipse快捷键整理,提高效率
- 防范映像劫持(IFEO HIJACK)
- 计算机音乐来自天堂的魔鬼,来自天堂的魔鬼
- java代码校验手机号码_校验手机号码的正则表达式写法 (java实现)
- Win7 SP1 旗舰版
- 360 VS QQ:一场精心策划的西安事变(下)