Baidu API系统为开发者提供了许多实用的API,其中文字识别API服务功能较为成熟,如图所示已经可以满足生活中绝大多数文字识别的需求。我为大家演示一下较为基本的通用文字识别的功能。(文字识别API文档:https://ai.baidu.com/docs#/OCR-API/e1bd77f3)

首先,我们在调用任意一个API的时候,都需要提供专属的access_token,获取方式十分简单,只需要运行文档上的Python代码。(由于存在中文字符的注释,我已经手动添加了utf-8的编码方式)使用时需要将【官网获取的AK】和【官网获取的SK】替换为自己的AK和SK。

# coding:utf-8
import urllib, urllib2, sys
import ssl# 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】'
request = urllib2.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib2.urlopen(request)
content = response.read()
if (content):print(content)

至于AK和SK的获取方式,则需要我们自己去Baidu API 的官网登陆并注册项目后,Baidu官方会予以分配。在上一个程序成功运行后会获得一个类似下面的长字段,将access_token的内容复制下来即可。

{"access_token":"########","session_key":"9mzdWEfZrXH+LPJjs2Jk+0M\/giCXigE9SYEsg59qOhC8Oo\/6+orj6PnMKffvzZpCBI5Ph4p0PoSwa835DUdiWmKe+PVmRA==","scope":"public vis-ocr_ocr brain_ocr_scope brain_ocr_general brain_ocr_general_basic brain_ocr_general_enhanced vis-ocr_business_license brain_ocr_webimage brain_all_scope brain_ocr_idcard brain_ocr_driving_license brain_ocr_vehicle_license vis-ocr_plate_number brain_solution brain_ocr_plate_number brain_ocr_accurate brain_ocr_accurate_basic brain_ocr_receipt brain_ocr_business_license wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test\u6743\u9650 vis-classify_flower bnstest_fasf lpq_\u5f00\u653e cop_helloScope ApsMis_fangdi_permission","refresh_token":"25.dc75537152b2cc501ad6d76c1cbb0962.315360000.1831356957.282335-10693231","session_secret":"55eab565165de62c1e0ba0829763ea04","expires_in":2592000}
# coding:utf-8
import urllib, urllib2, base64access_token = '############################################'
url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=' + access_token
# 二进制方式打开图文件
f = open(r'图片地址', 'rb')
# 参数image:图像base64编码
img = base64.b64encode(f.read())
params = {"image": img}
params = urllib.urlencode(params)
request = urllib2.Request(url, params)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = urllib2.urlopen(request)
content = response.read()
if (content):print content

上面是调用API实现的主要代码部分,“#####################”的部分用上面复制下来的access_token替代,而‘图片地址’中则写入需要识别的图片所在的地址。我对代码做了极少的修改,主要是直接从文档中复制下来的。

下面演示一下实际使用的效果。

我们从网页上直接截取了一张图片。

将其改名,并与实验代码放在同一个目录下,同时将其路径写入该脚本。


识别结果如图所示,实验证明,该API较为可靠。

Python + Baidu API 实现图片中文字的提取相关推荐

  1. 基于MATLAB的图片中文字的提取及识别

    基于MATLAB的图片中文字的提取及识别 一.引言 随着计算机科学的飞速发展,以图像为主的多媒体信息迅速成为重要的信息传递媒介,在图像中,文字信息(如新闻标题等字幕) 包含了丰富的高层语义信息,提取出 ...

  2. python识别图片文字_使用百度文字识别API进行图片中文字的识别

    今天,为了满足我女朋友作业的需求,我使用Python制作了一个图片转文字的小应用. (当然,下面导入模块的问题我就不多说了,是非常简单的) 一. 申请百度通用文字识别接口. 1.先在百度AI开放平台注 ...

  3. 使用百度文字识别API进行图片中文字的识别

    今天,为了满足我女朋友作业的需求,我使用Python制作了一个图片转文字的小应用. (当然,下面导入模块的问题我就不多说了,是非常简单的) 一. 申请百度通用文字识别接口. 1.先在百度AI开放平台注 ...

  4. Python编程:通过百度文字识别提取表格数据

    百度文字识别文档: https://ai.baidu.com/docs#/OCR-Python-SDK/top 安装sdk pip install baidu-aip 先创建应用,得到appid 要识 ...

  5. matlab获取图片上的字,基于MATLAB图片中文字提取及识别.pdf

    基于MATLAB图片中文字提取及识别.pdf 数字图象处理 DigitalImageProgressing 基于MATLAB的图片中文字的提取及识别 邹浩,余龙,邹勇博,刘宇童,和振乔,李少梅 (西安 ...

  6. 人口普查分析:利用python+百度文字识别提取图片中的表格数据

    今天发布了最新的人口普查结果,笔者拿到的文件是pdf格式(网上应该有).之前就一直想实现从pdf提取表格数据,输出为excel.正好这次有公开数据,因此打算用来练个手. 尝试了两种方法: 1.pyth ...

  7. python使用百度云的API识别图片中的文字

    python使用百度云的API识别图片中的文字 # coding=utf-8import sys import json import base64IS_PY3 = sys.version_info. ...

  8. ubuntu+python+百度AI识别图片中的文字

    获取百度AI调用的 ID 和 key 打开百度AI官网:https://ai.baidu.com/ 点击控制台-登录账号-产品服务-图像识别-创建应用,勾选需要的服务(图像服务已默认全都选上, 此时我 ...

  9. 单张、批量识别图片中文字(写入txt文件、窗口视图创建、打包.exe文件)(百度文字识别SDK+Python的GUI之tklinker+打包pyinstaller)

    昨天我姐问我有没有软件可以批量识别图片上的文字,她在帮客户做资料整理,但是用的方法只能一张一张上传识别,不仅效率低还浪费时间. ​我就找了找批量识别的软件,下载下来觉得:嗯?不错,界面也挺好,小东西做 ...

最新文章

  1. 《信息可视化:交互设计(原书第2版)》——第2章基本概念
  2. python数据包分析_packet_analysis: 数据包分析工具
  3. 使用码云中文乱码问题解决
  4. 嵩天-Python语言程序设计程序题--第八周:程序设计方法学
  5. python编程小学生学难吗_为什么小学生都要学Python
  6. 修改输入框placeholder的默认样式
  7. 看得懂的设计模式 享元模式python3 最基本(简单)实现
  8. 对照片进行边缘化处理,并将边缘化处理后的结果保存
  9. 分布式事务实践--Spring的全局事务JTA
  10. GateSvr的设计2
  11. Que2Search: Fast and Accurate Query and Document Understanding for Search at Facebook论文笔记
  12. 再谈内核模块加载(二)—模块加载流程(上)
  13. android fsck_msdos 分析(二)
  14. QT图形显示和处理7
  15. 【Python代码】情人节到了,表白代码肯定是少不了的啦
  16. android装windows bios,普通安卓平板刷win10图文教程
  17. 腾讯云服务器镜像部署 Java Web 环境
  18. 小学计算机教案六年级冀教版,清华大学出版社版小学六年级下册信息技术全册教案.doc...
  19. 烟台十四位拳师荣膺“十大拳师”称号
  20. 【SolidWorks免费模型下载】:3D打印机 免费模型下载

热门文章

  1. 各种电磁仿真软件优缺点
  2. 第十三届蓝桥杯经验分享
  3. 【问底】李平:大型网站的灵魂——性能
  4. 抖音死亡计算机背景音乐,抖音黄昏宣告着今天已死亡是什么歌
  5. Egret 5.3 正式发布,为重度小游戏开发带来新技能
  6. 无广告 Windows 10 系统安装
  7. 那些年,哥私藏的源代码
  8. 2020低压电工考试题及低压电工复审模拟考试
  9. 风电功率预测matlab,MatlAB毕业论文:风电功率预测问题.doc
  10. 行测-图形推理-9-线条问题类