基于百度云的OCR识别(Python)

时间:2022-04-27 04:01:35

2019年7月3日早上,在百度AI开发者大会上,一个来自山西的青年,将一瓶矿泉水浇在了同样来自山西的李彦宏身上。

可以回顾一下 https://b23.tv/av57665929/p1 ,着实让人一惊,这么大的会议上既然让人这么容易接近大佬。

基于百度云的OCR识别(Python)

(图片来源网络)

OCR识别准备工作

百度云真的是测试接口的天堂,免费接口很多,当然有量的限制,但个人使用是完全够用的,什么人脸识别、MQTT服务器、语音识别等等,应有尽有吧

看看OCR识别免费的量

基于百度云的OCR识别(Python)

第一步:

创建一个文字识别的应用,也就是向百度云申请一个文字识别的用户接口

基于百度云的OCR识别(Python)

第二步:

打开技术文档,基本涵盖了当今流行的编程语言

https://cloud.baidu.com/doc/OCR/s/ejwvxzls6/

  • C++SDK文档              Android-SDK文档        Java-SDK文档         Node-SDK文档
  • PHP-SDK文档             Python-SDK文档          C#SDK文档               iOS-SDK文档

第三步:

安装OCR Python SDK,OCR Python SDK目录结构

├── README.md
├── aip //SDK目录
│ ├── __init__.py //导出类
│ ├── base.py //aip基类
│ ├── http.py //http请求
│ └── ocr.py //OCR
└── setup.py //setuptools安装

支持Python版本:2.7.+ ,3.+

安装命令:

在win10环境下通过cmd安装后需要关掉当前cmd窗口,重新打开cmd窗口进行命令执行python程序方可正确实现

pip install baidu-aip

测试代码

基于百度云的OCR识别(Python)

基于百度云的OCR识别(Python)

通用文字识别

from aip import AipOcr

#更换为自己的注册信息
APP_ID = '---'
API_KEY = '---'
SECRET_KEY = '---' client = AipOcr(APP_ID, API_KEY, SECRET_KEY)#创建连接
fp=open("tu2.png","rb").read()#打开并读取文件内容
res=client.basicGeneral(fp)#普通
#print(res) #将所有的文字都合并到一起
strx=""
for tex in res["words_result"]:#遍历结果
strx+=tex["words"]#每一行
print(strx)#输出内容

通用文字识别(高精度版)

from aip import AipOcr

#更换为自己的注册信息
APP_ID = '---'
API_KEY = '---'
SECRET_KEY = '---' client = AipOcr(APP_ID, API_KEY, SECRET_KEY)#创建连接
fp=open("tu2.png","rb").read()#打开并读取文件内容
#res=client.basicGeneral(fp)#普通
res=client.basicAccurate(fp)#高精度
#print(res) #将所有的文字都合并到一起
strx=""
for tex in res["words_result"]:#遍历结果
strx+=tex["words"]#每一行
print(strx)#输出内容

 URL图片地址方式

from aip import AipOcr

#更换为自己的注册信息
APP_ID = '----'
API_KEY = '----'
SECRET_KEY = '-----' client = AipOcr(APP_ID, API_KEY, SECRET_KEY)#创建连接
url = "//bbsmax.ikafan.com/static/L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDg1MjAyLzIwMTkwNy8xNDg1MjAyLTIwMTkwNzA1MjEwNDQ1NjQ5LTIwOTM2NzI3NzIucG5n.jpg"
res=client.basicGeneralUrl(url)#普通
#print(res) #将所有的文字都合并到一起
strx=""
for tex in res["words_result"]:#遍历结果
strx+=tex["words"]
print(strx)#输出内容

注意

图片格式(image):

图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式

URL格式(url):

图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效

语言设置(language_type)

识别语言类型,默认为CHN_ENG

可设置:- CHN_ENG:中英文混合;- ENG:英文;- POR:葡萄牙语;- FRE:法语;- GER:德语;- ITA:意大利语;- SPA:西班牙语;- RUS:俄语;- JAP:日语;- KOR:韩语;

图像倒置设置(detect_direction)

是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括:- true:检测朝向;- false:不检测朝向

是否检测语言(detect_language)

是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语),值为flase或者true

是否返回识别结果中每一行的置信度(probability)

值为flase或者true

参数添加举例

""" 如果有可选参数 """
options = {}
options["detect_direction"] = "true"
options["detect_language"] = "true" """ 带参数调用网络图片文字识别, 图片参数为远程url图片 """
client.webImageUrl(url, options)

 更多参考:

https://cloud.baidu.com/doc/OCR/s/Rjwvxzm3n

基于百度云的OCR识别(Python)的更多相关文章

  1. spring boot2 基于百度云apiface实现人脸检测与认证1

    原理介绍: 基于百度云的人脸资料库(用户上传),调用本地摄像头抓拍的图像,与百度云的用户图像做比对,实现人脸认证. 主要步骤如下: 1. 创建百度去账号 2. 在百度云控制台中创建人脸识别的应用,并记 ...

  2. 基于Tesseract组件的OCR识别

    基于Tesseract组件的OCR识别 背景以及介绍 欲研究C#端如何进行图像的基本OCR识别,找到一款开源的OCR识别组件.该组件当前已经已经升级到了4.0版本.和传统的版本(3.x)比,4.0时代 ...

  3. Android 高仿微信实时聊天 基于百度云推送

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天终于有幸利用百 ...

  4. python基于百度AI开发文字识别

    很多场景都会用到文字识别,比如app或者网站里都会上传身份证等证件以及财务系统识别报销证件等等 第一步,你需要去百度AI里去注册一个账号,然后新建一个文字识别的应用 然后你将得到一个API Key 和 ...

  5. OCR识别-python版(一)

    需求:识别图片中的文字信息环境:windows系统 开发语言:python 使用工具类:1.pyocr 2.PIL 3.tesseract-ocr 步骤: 1.pyocr 网络通直接使用命令:pip ...

  6. spring boot2 基于百度云apiface实现人脸检测与认证2

    接上一篇,上篇只实现了人脸的认证,接下来实现人脸的检测. 原理介绍: 把摄像头抓拍的图像上传到服务器,服务器把图像上传到百度云,百度云返回识别出的人脸的数量和位置,前端根据服务端的返回,在图像中画出人 ...

  7. 基于百度AI实现 车牌识别

    前言 目前百度的AI接口相对完善,对于文字识别类的操作还需要开发者一一去尝试,去评估这效果到底是怎么的. 文字识别的接口相对简单,官方提供的SDK也集成很好,笔者只是在这上面做了一些前期性的功能数据校 ...

  8. 联想A798T刷机包 基于百度云V6 集成RE3.1.7美化版 精简冗余文件

    ROM介绍 1.apk进行odex合并及zipaliang优化-省电及降低内存暂用. 2.測试相机.通话.数据.wifi.蓝牙.等传感器均正常,. 3.提供时间居中防iphone状态栏补丁 4.增加I ...

  9. 基于阿里云平台的使用python脚本发送短信

    第一步:点击短信服务下的帮助文档 第二步:安装python的SDK:点击安装python sdk 第三步:直接通过python的pip工具安装即可,方便快捷: 第四步:点击红框进行测试: 第五步:测试 ...

随机推荐

  1. Https方式使用Git@OSC设置密码的方式

    Https方式使用Git@OSC设置密码的方式 62561_silentboy Zoker3 years ago member https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密 ...

  2. Linux安装软件总结(二.几种安装命令介绍)

    一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...

  3. Oracle数据库导入、导出dmp文件

    oracle导出数据: 1.该处的导出数据需要在dos命令行下执行,进入到oracle客户端路径下执行(该处也可为oracle客户端路径配置系统变量),如: E:\oraclexe\app\oracl ...

  4. Easyui表单之按钮的提交

    一.表单按钮的提交前代表对提交内容的验证 二.表单按钮的提交后代表对把数据提交给后台 1. 界面层页面编辑代码: <!DOCTYPE html> <html> <head ...

  5. &lbrack;stl&rsqb; SGI STL的空间配置器

    第一级空间配置器 第一级配置以malloc(), free(), realloc()等c函数执行实际的内存配置,释放.重配置操作,并实现出类似c++ new handler的机制.它不能直接使用c++ ...

  6. Ajax基础--JavaScript实现

    ajax原理 1.ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. 通俗地讲就是:AJAX 通过在后台与 ...

  7. 【CC2530入门教程-06】CC2530的ADC工作原理与应用

    第6课  CC2530的ADC工作原理与应用 广东职业技术学院  欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...

  8. 09&lowbar;Python定义方法&lowbar;Python编程之路

    有关Python判断与循环的内容我们上几节已经跟大家一起学习了,这一节我们主要针对def 做一个讲解 def 定义一个方法 在项目编程中,我们往往要做很多重复的事,比如一个排序的功能(当然Python ...

  9. tomcat7性能调优与配置(以windows版为例)

    一.配置tomcat服务状态查看帐号(E:\Tomcats\apache-tomcat-7.0.73Test\conf下面的tomcat-users.xml中)加入:<user username ...

  10. JMeter中添加dubbo相关插件异常问题解决

    从网上下载了一个dubbo的插件,然后放到JMeter的/lib/ext目录下: 然后启动直接异常 发现启动不了,然后下载了一个全新的JMeter3.2将dubbo插件放到同样的目录,启动,没有问题: ...