美文网首页小项目
基于百度云的OCR识别(Python)!

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

作者: 14e61d025165 | 来源:发表于2019-07-06 15:31 被阅读24次

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

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

    image

    (图片来源网络)

    OCR识别准备工作

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

    看看OCR识别免费的量

    image

    第一步:

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

    image

    第二步:

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

    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目录结构

    <pre class="prettyprint hljs fsharp">├── README.md
    ├── aip //SDK目录
    │ ├── init.py //导出类
    │ ├── base.py //aip基类
    │ ├── http.py //http请求
    │ └── ocr.py //OCR
    └── setup.py //setuptools安装</pre>

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

    安装命令:

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

    <pre class="hljs nginx">pip install baidu-aip
    </pre>

    测试代码

    image image

    通用文字识别

    <pre class="prettyprint hljs 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)#输出内容
    </pre>

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

    <pre class="prettyprint hljs 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)#普通

    res=client.basicAccurate(fp)#高精度

    print(res)

    将所有的文字都合并到一起

    strx=""
    for tex in res["words_result"]:#遍历结果
    strx+=tex["words"]#每一行
    print(strx)#输出内容
    </pre>

    URL图片地址方式

    <pre class="prettyprint hljs python">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)#输出内容
    </pre>

    注意

    图片格式(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

    参数添加举例

    <pre class="prettyprint hljs awk">""" 如果有可选参数 """
    options = {}
    options["detect_direction"] = "true"
    options["detect_language"] = "true"

    """ 带参数调用网络图片文字识别, 图片参数为远程url图片 """
    client.webImageUrl(url, options)
    </pre>

    相关文章

      网友评论

        本文标题:基于百度云的OCR识别(Python)!

        本文链接:https://www.haomeiwen.com/subject/fqwphctx.html