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

系统 1362 0

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

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

基于百度云的OCR识别(Python)_第1张图片

(图片来源网络)

OCR识别准备工作

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

看看OCR识别免费的量

基于百度云的OCR识别(Python)_第2张图片

第一步:

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

  基于百度云的OCR识别(Python)_第3张图片

第二步:

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

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

第三步:

安装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)
            
          

 更多参考:

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论