注册/登录百度账号
https://cloud.baidu.com/product/imageprocess/enhancement?track=cp:nsem|pf:pc|pp:nsem-chanpin-tuxiangzengqiang-383|pu:tuxiangzengqiang-tongyongci|ci:|kw:10268585&renqun_youhua=2850304&bd_vid=9480874408973864616
领取/购买资源
在控制台总览页面可以领取免费资源,这里先领取了图像增强的免费资源
创建应用
创建应用后可以在管理应用页面看到自己的appid等信息,在调用api时会用到
调用API
在运行代码之前,我们需要安装对应的sdk
pip install baidu-aip
pip install cv2
接下来就可以运行我们的代码进行画质增强了
from aip import AipImageProcess
import base64
import numpy as np
import cv2
""" 你的 APPID API_KEY SECRET_KEY """
APP_ID = 'XXXXXXX'
API_KEY = 'XXXXXXXXXXXXXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXXXXXXXXX'
client = AipImageProcess(APP_ID, API_KEY, SECRET_KEY)
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
""" base64图片解码 """
def base64_to_image(base64_code):
# base64解码
img_data = base64.b64decode(base64_code)
# 转换为np数组
img_array = np.fromstring(img_data, np.uint8)
# 转换成opencv可用格式
img = cv2.imdecode(img_array, cv2.COLOR_RGB2BGR)
return img
img_path = ('14.jpg')#如果是绝对路径需要加'/'
ori_img = cv2.imread(img_path)
image = get_file_content(img_path)
# """ 调用图像无损放大 """
# img2 = client.imageQualityEnhance(image);
""" 调用图像画质增强"""
img = client.imageDefinitionEnhance(image)
# """ 调用图像对比度增强 """
# img = client.contrastEnhance(image)
img = img['image']
show_img = base64_to_image(img)
imgs = np.hstack([ori_img,show_img])
cv2.imshow('img',imgs)
cv2.imwrite('%s.jpg'%(img_path.split('.')[0]+'2'),imgs,[cv2.IMWRITE_JPEG_QUALITY, 100])
cv2.waitKey(0)
画质增强前:
画质增强后:
海獭真的好可爱。