热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

调用百度ocr的API,python简易版本

https:www.jianshu.compe10dc43c38d01.注册百度云注册账号https:cloud.baidu.com?fromconsole管理应用https:co
https://www.jianshu.com/p/e10dc43c38d0

1. 注册

百度云注册账号 https://cloud.baidu.com/?from=console
管理应用 https://console.bce.baidu.com/ai/#/ai/ocr/overview/index 创建一个

 
图1登陆之后的界面

进入链接之后创建应用,由于是从文字识别点进去的,所以默认选中的就是ocr相关内容,填好表格确认。
 
图2 创建应用之后的界面

有了这三个东西,AppID 、API Key、Secret Key,我们就可以在代码里调用接口了。

 

2. 调用API

官方指南:https://ai.baidu.com/docs#/OCR-Python-SDK/top
安装使用Python SDK: pip install baidu-aip
cv2 需要安装:pip install opencv_python
如果只需要预测文字以及框出文字区域,执行以下代码即可。

import cv2
from aip import AipOcr

""" 你的 APPID AK SK  图2的内容"""
APP_ID = '14318340'
API_KEY = 'DUvK5jEkNmCIEz4cXH8VvIVC'
SECRET_KEY = '*******'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

fname = 'picture/test4.jpg'

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content(fname)

""" 调用通用文字识别, 图片参数为本地图片 """
results = client.general(image)["words_result"]  # 还可以使用身份证驾驶证模板,直接得到字典对应所需字段

img = cv2.imread(fname)
for result in results:
    text = result["words"]
    location = result["location"]

    print(text)
    # 画矩形框
    cv2.rectangle(img, (location["left"],location["top"]), (location["left"]+location["width"],location["top"]+location["height"]), (0,255,0), 2)

cv2.imwrite(fname[:-4]+"_result.jpg", img)

斜一定角度也能检测出来 还不错


 
效果图
 
 

推荐阅读
author-avatar
等待的承诺灬_231
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有