小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
给父母以前甚至更久远的老照片增加色彩,是一门艺术,也是还原历史,今天就教大家制作一款老照片修复教程给黑白照片上色的小技巧,这里我们借助百度AI开放平台的“黑白图像上色”接口,仅需二十行代码就能实现,家里有老照片的朋友可以来尝试练练手。
1.实现步骤
第一步:搜索百度AI进官网:ai.baidu.com/
找到:开放能力找到里面的图像技术。
第二步:找到图像特效里的黑白图像上色。
第三步:注册成为百度开发者,创建应用,获取API Key和Secret Key,进而得到access_token,输入黑白图像获取彩色图像的Base64编码。再将Base64编码字符串转为图片即可。
2.源码
import base64
import requests
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的AK&client_secret=你的SK'
response = requests.get(host)
if response:
print(response.json())
# 黑白图像上色
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/colourize"
# 二进制方式打开图片文件
f = open('test.png', 'rb')
img = base64.b64encode(f.read())
params = {"image":img}
access_token = response.json()['access_token']
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
print(response.json())
# base64编码转图片
img = base64.b64decode(response.json()['image'])
file = open('result.jpg', 'wb')
file.write(img)
file.close()
3.效果如下
这些老照片带有一层神秘的面纱,当我们把这面纱层揭开,发现这会是很珍藏的宝藏。
感兴趣的可以关注我的公众号:云芸学派【非常感谢你的点赞、收藏、关注、评论,一键三连支持】