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

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

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

(图片来源网络)

OCR识别准备工作

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

看看OCR识别免费的量

第一步:

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

第二步:

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

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

测试代码

通用文字识别

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 = "https://img2018.cnblogs.com/blog/1485202/201907/1485202-20190705210445649-2093672772.png"
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)
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用百度云提供的文字识别 API 来实现Python中的文字识别。首先,您需要在百度云平台上创建一个账号,并获取到文字识别的 API Key 和 Secret Key。 接下来,您可以使用Python中的requests库向百度云 API 发送请求。以下是一个简单的示例代码: ```python import requests # 设置API Key和Secret Key api_key = 'your_api_key' secret_key = 'your_secret_key' # 上传图片并调用文字识别API def baidu_ocr(image_path): url = 'https://aip.baidubce.com/oauth/2.0/token' data = { 'grant_type': 'client_credentials', 'client_id': api_key, 'client_secret': secret_key } response = requests.post(url, data=data) access_token = response.json().get('access_token') ocr_url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic' headers = {'Content-Type': 'application/x-www-form-urlencoded'} params = {'access_token': access_token} image = open(image_path, 'rb').read() response = requests.post(ocr_url, headers=headers, params=params, data=image) result = response.json() if 'error_code' in result: print('文字识别出错:', result['error_msg']) else: for word in result['words_result']: print(word['words']) # 使用示例 image_path = 'path/to/your/image.jpg' baidu_ocr(image_path) ``` 请确保将上述代码中的`your_api_key`和`your_secret_key`替换为您在百度云平台上创建的 API Key 和 Secret Key。同时,将`image_path`替换为您要识别的图片的路径。 这样,您就可以使用Python调用百度云的文字识别 API 来实现图片中文字的识别了。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值