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系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
Python学习笔记(一)(基础入门之环境搭建)
Jun 05 Python
Python写入CSV文件的方法
Jul 08 Python
Python 实现随机数详解及实例代码
Apr 15 Python
Python书单 不将就
Jul 11 Python
python高级特性和高阶函数及使用详解
Oct 17 Python
python多线程并发让两个LED同时亮的方法
Feb 18 Python
Python列表切片操作实例总结
Feb 19 Python
Python如何使用turtle库绘制图形
Feb 26 Python
离线状态下在jupyter notebook中使用plotly实例
Apr 24 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
给Django Admin添加验证码和多次登录尝试限制的实现
Jul 26 Python
Python anaconda安装库命令详解
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Python爬虫入门案例之爬取二手房源数据
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Python Django模型详解
Python 阶乘详解
Oct 05 #Python
Python 实现Mac 屏幕截图详解
You might like
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
php 浮点数比较方法详解
2017/05/05 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
JS实现多功能计算器
2020/10/28 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python文件写入write()的操作
2019/05/14 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
详解python中__name__的意义以及作用
2019/08/07 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
小学生光盘行动倡议书
2015/04/28 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
java开发双人五子棋游戏
2022/05/06 Java/Android