Python实现老照片修复之上色小技巧


Posted in Python onOctober 16, 2021

导语

"黑白变彩色,就是这么简单"

老照片上色,是一门功夫,费时费力。

老照片上色,也是一门艺术,还原历史。

提起老照片上色,小编第一个想到了的就是一位名叫Marina Amaral的艺术家,她将历史上很多著名的老照片,都用后期处理的方式填补上了颜色。

Python实现老照片修复之上色小技巧

逼真、写实,看不出丝毫的漏洞,你对她的作品有多钦佩,也就意味着这项技艺有多复杂。

所以,你想学习老照片上色吗?也想把父母的照片,或者儿时的黑白照变成彩色的吗?

Python实现老照片修复之上色小技巧

那木木子给你的建议的是:别费劲了,因为,这项工作,以后交给AI去完成就可以了。

今天就教大家制作一款老照片修复教程——之黑白照片上色小技巧!

正文

百度AI开放平台「黑白图像上色」,这个强烈推荐,20行代码即能搞定黑白照片转彩色啦!

第一步:搜索百度AI进官网找到:开放能力——》图像技术。

Python实现老照片修复之上色小技巧

第二步:找到黑白图像上色。

Python实现老照片修复之上色小技巧

第三步:需要注册成为百度开发者,创建应用,获取API Key和Secret Key,进而得到access_token,输入黑白图像获取彩色图像的Base64编码。再将Base64编码字符串转为图片即可!

附代码:

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()

效果如下

第一组黑白老照片:

Python实现老照片修复之上色小技巧

第二组黑白老照片——

Python实现老照片修复之上色小技巧

第三组黑白老照片——

Python实现老照片修复之上色小技巧

总结

最后一张简直太惊艳了~有美到你嘛?哇卡卡卡,拿代码自己去试试上色效果吧?

你们的支持是我最大的动力!!mua

Python实现老照片修复之上色小技巧

到此这篇关于Python实现老照片修复之上色小技巧的文章就介绍到这了,更多相关Python 照片修复内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用python获取CPU和内存信息的思路与实现(linux系统)
Jan 03 Python
Python中变量交换的例子
Aug 25 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 Python
如何使用python操作vmware
Jul 27 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
浅析Python 序列化与反序列化
Aug 05 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
Django自定义YamlField实现过程解析
Nov 11 Python
python使用yaml 管理selenium元素的示例
Dec 01 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
浅谈哪个Python库才最适合做数据可视化
Jun 28 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 Python
Python anaconda安装库命令详解
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Python爬虫入门案例之爬取二手房源数据
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Python Django模型详解
Python 阶乘详解
Oct 05 #Python
Python 实现Mac 屏幕截图详解
You might like
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
react-native动态切换tab组件的方法
2018/07/07 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
轻松掌握python设计模式之策略模式
2016/11/18 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
python 实现list或string按指定分段
2019/12/25 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
Keras loss函数剖析
2020/07/06 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
为什么需要版本控制?
2013/08/08 面试题
应聘编辑职位自荐信范文
2014/01/05 职场文书
办公室人员先进事迹
2014/01/27 职场文书
工程管理英文求职信
2014/03/18 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
使用Java去实现超市会员管理系统
2022/03/18 Java/Android