资讯 社区 文档 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

如何用代码调用服务

如何使用代码调用服务 API

1. 准备开发环境

我们选择用 Python 来快速搭建一个原型,关于如何安装 Python。可以参考下表列出的不同操作系统的安装方法进行安装。

Python的官方下载地址:下载Python
Python下载示例.png

Windows 快速测试包

Windows 平台的用户如果对上述的 Python 安装感到困难,您可以下载我们的一键测试包,下载地址:Windows测试包

解压 zip 文件后,双击 run.bat 即可测试。

2. 编写代码

新建一个 main.py

粘贴以下内容,不要忘记替换您的 API_KEY 以及 SECRET_KEY

# coding=utf-8

import sys
import json
import base64


# 保证兼容python2以及python3
IS_PY3 = sys.version_info.major == 3
if IS_PY3:
    from urllib.request import urlopen
    from urllib.request import Request
    from urllib.error import URLError
    from urllib.parse import urlencode
    from urllib.parse import quote_plus
else:
    import urllib2
    from urllib import quote_plus
    from urllib2 import urlopen
    from urllib2 import Request
    from urllib2 import URLError
    from urllib import urlencode

# 防止https证书校验不正确
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

API_KEY = 'API_KEY'

SECRET_KEY = 'SECRET_KEY~~~~'


IMAGE_URL = "https://aip.baidubce.com/rest/2.0/image-process/v1/colourize"


"""  TOKEN start """
TOKEN_URL = 'https://aip.baidubce.com/oauth/2.0/token'


"""
    获取token
"""
def fetch_token():
    params = {'grant_type': 'client_credentials',
              'client_id': API_KEY,
              'client_secret': SECRET_KEY}
    post_data = urlencode(params)
    if (IS_PY3):
        post_data = post_data.encode('utf-8')
    req = Request(TOKEN_URL, post_data)
    try:
        f = urlopen(req, timeout=5)
        result_str = f.read()
    except URLError as err:
        print(err)
    if (IS_PY3):
        result_str = result_str.decode()


    result = json.loads(result_str)

    if ('access_token' in result.keys() and 'scope' in result.keys()):
        if not 'brain_all_scope' in result['scope'].split(' '):
            print ('please ensure has check the  ability')
            exit()
        return result['access_token']
    else:
        print ('please overwrite the correct API_KEY and SECRET_KEY')
        exit()

"""
    读取文件
"""
def read_file(image_path):
    f = None
    try:
        f = open(image_path, 'rb')
        return f.read()
    except:
        print('read image file fail')
        return None
    finally:
        if f:
            f.close()


"""
    调用远程服务
"""
def request(url, data):
    req = Request(url, data.encode('utf-8'))
    has_error = False
    try:
        f = urlopen(req)
        result_str = f.read()
        if (IS_PY3):
            result_str = result_str.decode()
        return result_str
    except  URLError as err:
        print(err)

if __name__ == '__main__':

    # 获取access token
    token = fetch_token()

    # 调用黑白图像上色url
    image_url = IMAGE_URL + "?access_token=" + token

    text = ""

    # 读取测试图片
    file_content = read_file('./text.jpg')

    # 调用黑白图像上色服务
    result = request(image_url, urlencode({'image': base64.b64encode(file_content)}))

    # 解析返回结果
    result_json = json.loads(result)

    # 打印返回结果
    print(result_json)

3. 运行代码

在命令行中运行python main.py

4. 获取识别结果

代码正确运行后,命令行界面上会显示出如下运行结果:
image.png

返回的数据包含了图片中所有文字,详细的接口返回可以查看文档 图像增强与特效API文档

上一篇
如何用可视化工具调用
下一篇
购买指南