地址:http://ai.baidu.com/
这里使用python接口,需要传入的是access_token
,返回是一个字典,其中image
字段就是处理后的图片的base64编码。
其中,access_token
需要去获取,如下:
获取链接:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
利用如下程序获取:
需要提供client_id
和client_secret
两个字段。
这两个字段需要去创建应用订单后才能获取。链接如下:https://ai.baidu.com/tech/imageprocess/image_definition_enhance
填写以下内容:
然后拿到client_id
和client_secret
两个字段即可:
完整接口调用过程如下:
import requests
# client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id = "[你自己的client_id]"
client_secret = "[你自己的client_secret ]"
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(client_id,
client_secret)
response = requests.get(host)
if response:
print(response.json())
上面代码会返回一个字典,提取上面字典的access_token
即可。
然后调用如下代码做图像增强:
# encoding:utf-8
import os
import requests
import base64
'''
图像清晰度增强
'''
if __name__ == "__main__":
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/image_definition_enhance"
access_token = '[上面代码获取到的你的access_token ]'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
rawPicPath = r"./data"
enhancedPicPath = r"./output"
for pic in os.listdir(rawPicPath):
pic_path = os.path.join(rawPicPath, pic)
# 二进制方式打开图片文件
f = open(pic_path, 'rb')
img = base64.b64encode(f.read())
params = {"image": img}
response = requests.post(request_url, data=params, headers=headers)
if response:
# 提取返回的图像的base64信息
image_base64 = response.json()['image']
# 解码为图像数据
image_data = base64.b64decode(image_base64)
# 保存到本地
f = open(os.path.join(enhancedPicPath, pic), 'wb')
f.write(image_data)
效果还是比较明显的:
上面是原始结果,下面是增强后结果。