调用百度API,图片无损放大

# -*- coding: UTF-8 -*-
import base64
import requests

def get_img_base64str(image):
    with open(image,'rb') as fp:
        imgbase64 = base64.b64encode(fp.read())
        return imgbase64.decode()

def get_access_token(APP_ID,API_KEY,SECRET_KEY):
    params     = {
        "grant_type":   "client_credentials",
        'client_id':    API_KEY,
        'client_secret':SECRET_KEY,}
    token_url = 'https://aip.baidubce.com/oauth/2.0/token'
    res = requests.get(token_url,params = params)
    try:
        data = res.json()
        return data['access_token']
    except:
        return ''

def enlarge_image(image_file,access_token):
    image       = get_img_base64str(image_file)
    data        = {"image":image}
    params       = {'access_token':access_token}
    request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/image_quality_enhance"
    res = requests.post(request_url,params = params,data = data)
    try:
        image_data = res.json()['image']
        img_bytes  = base64.b64decode(image_data)
        with open("res.png",'wb') as fp:
            fp.write(img_bytes)
        print ("Success!")
    except:
        print ("ERROR!")


if __name__ == '__main__':
    APP_ID     = '******'
    API_KEY    = '*******'
    SECRET_KEY = '*******'

    file = "3.png"
    access_token = get_access_token(APP_ID,API_KEY,SECRET_KEY)
    enlarge_image(file,access_token)

猜你喜欢

转载自blog.csdn.net/qq523176585/article/details/86614753