百度智能云 API调用PythonSDK

百度智能云 API调用PythonSDK

这是一个用于百度云部分开放AI功能的Python库。主要为ORC功能,可以对各种图像文件进行文字识别,包括车牌、手写文字、通用文字、人脸发现、人脸比对和人流量统计等。

更多的功能大家可以提出,后续会慢慢开发这个库。

使用这个库,你可以很方便地调用百度云OCR API,并将识别结果以json的形式返回。你可以根据自己的需要来使用不同的API,以获得更精确或更快速的识别结果。

此外,这个库还提供了URL版本的文字识别功能,可以直接对网络图片进行识别。

使用方法

1.安装库

使用pip安装:

pip install baiducloud
  1. 准备API Key和Secret Key

2.准备API Key和Secret Key

在使用百度云OCR API之前,你需要去百度云控制台申请API Key和Secret Key。

3.初始化baiducloud类

在你的代码中导入baiducloud类,并使用API Key和Secret Key初始化它:

from baiducloud import baiducloud

api_key = "your_api_key"
secret_key = "your_secret_key"

bc = baiducloud(api_key, secret_key)

4.使用Python开发你的程序

例子1.车牌识别

result = bc.orc_license_plate("image.jpg")
print(result)

返回结果是一个json

例子2.使用URL版本的文字识别

result = bc.orc_license_plate_url("https://example.com/image.jpg")
print(result)

注意:使用URL版本的文字识别方法时,你需要确保图片URL是可以公开访问的。

例子3.使用人脸比对

result = bc.face_compare("https://example.com/image.jpg","https://example.com/image1.jpg")
print(result)

当然,还有更多的使用方法,具体可以参考baiducloud > main.py,使用方法大同小异,文档就后续再更新。

生成环境

下面是我的机器人的真实使用环境,大家可以进行一个参考:

#百度云 车牌识别
def baiduyun_orc_traffic_plate(img_path):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.orc_license_plate(img_path)
    number = response_data['words_result']['number']
    color = response_data['words_result']['color']
    return "车牌号:"+number+"\n颜色:"+color

#百度云 车牌识别——URL版
def baiduyun_orc_traffic_plate_url(img_url):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.orc_license_plate_url(img_url)
    number = response_data['words_result']['number']
    color = response_data['words_result']['color']
    return "车牌号:"+number+"\n颜色:"+color

#百度云 手写文字识别
def baiduyun_orc_handwriting(img_url):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.orc_handwriting_url(img_url)
    words_result = response_data['words_result']
    words = ""
    for i in words_result:
        words += i['words']+"\n"
    return words[:-1]

#百度云 通用文字识别 高精度
def baiduyun_orc_accurate_basic(img_url):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.orc_accurate_basic_url(img_url)
    words_result = response_data['words_result']
    words = ""
    for i in words_result:
        words += i['words']+"\n"
    return words[:-1]

#百度云 通用文字识别
def baiduyun_orc_general_basic(img_url):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.orc_general_basic_url()
    words_result = response_data['words_result']
    words = ""
    for i in words_result:
        words += i['words'] + "\n"
    return words[:-1]
#百度云 人脸检测
def baiduyun_face_check(img_path):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.face_detect(img_path)
    if response_data['error_code'] != 0:
        return response_data['error_msg']
    else:
        return "检测到"+str(response_data['result']['face_num'])+"张人脸"
#百度云 人脸对比
def baiduyun_face_contrast(img_path,img_path1):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.face_compare(img_path,img_path1)
    if response_data['error_code'] != 0:
        return response_data['error_msg']
    else:
        return "两张人脸相似度为:"+str(response_data['result']['score'])+"%"

#百度云 人流量
def baiduyun_person_num(img_path):
    bc = baiducloud.baiducloud(sqlite.search_API("百度云应用API_Key"), sqlite.search_API("百度云应用Secret_Key"))
    response_data = bc.person_num(img_path)
    return "图片中人流量为:"+str(response_data['person_num'])

当然,写的有些乱,但是应该可以看懂。

posted @ 2022-12-31 17:20  M0x1n  阅读(404)  评论(0编辑  收藏  举报