ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python+AI给老照片上色

2022-06-14 16:01:47  阅读:235  来源: 互联网

标签:老照片 img Python 模型 cv2 AI import gen


前言

哈喽,大家好。有没有谁跟我一样喜欢老照片的朋友,老照片总是让人感觉有一种情怀,可能这就是怀念吧。有一次无意中看到

了很久很久以前的照片都是黑白的,当时很想给照片添加点颜色,但是不知道怎么搞。今天,我终于发现了怎么去解决这个问

题,想了想,我决定得把这个分享给大家…
在这里插入图片描述

 

今天我们分享用NoGAN的图像增强技术给老照片着色。效果如下:
在这里插入图片描述

原图
在这里插入图片描述

上色后

NoGAN是一种新型GAN,它能花费最少的时间进行GAN训练。

今天分享的这个项目已在GitHub开源项目,下面我们来运行一下。

1. 准备工作

首先,用git clone命令下载源码

git clone https://github.com/jantic/DeOldify.git

 

进入项目根目录,安装Python依赖包

pip3 install -r requirements.txt

 

编写代码运行项目之前,需要下载预训练好的模型。项目提供了三个模型
在这里插入图片描述

模型

区别如下:

•ColorizeArtistic_gen.pth:在有趣的细节和活力方面实现了最高质量的图像着色效果,该模型在 UNet 上使用 resnet34 为主干,

通过 NoGAN 进行了 5 次评论家预训练/GAN 循环重复训练

•ColorizeStable_gen.pth:在风景和肖像方面取得了最佳效果,该模型在 UNet 上使用 resnet101 为主干,通过 NoGAN 进行了 3

次评论家预训练/GAN 循环重复训练

在这里插入图片描述

•ColorizeVideo_gen.pth:针对流畅的视频进行了优化,它仅使用初始生成器/评论家预训练/GAN NoGAN 训练。由于追求流畅的

速度,它的色彩比前两者少。

将下载好的模型文件放在项目根目录的models目录下即可。

2. 编写代码

在项目根目录同级目录下创建Python文件,编写代码加载刚刚下载好的模型文件。

python学习交流Q群:906715085####
from DeOldify.deoldify.generators import gen_inference_wide
from DeOldify.deoldify.filters import MasterFilter, ColorizerFilter
# 指定模型文件
learn = gen_inference_wide(root_folder=Path('./DeOldify'), weights_name='ColorizeVideo_gen')
# 加载模型
deoldfly_model = MasterFilter([ColorizerFilter(learn=learn)], render_factor=10)

 

root_folder指定项目根目录,weights_name指定接下来使用哪个模型为照片上色。
在这里插入图片描述

读取老照片,进行上色

import cv2
import numpy as np
from PIL import Image

img = cv2.imread('./images/origin.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
pil_img = Image.fromarray(img)

filtered_image = deoldfly_model.filter(
    pil_img, pil_img, render_factor=35, post_process=True
)

result_img = np.asarray(filtered_image)
result_img = cv2.cvtColor(result_img, cv2.COLOR_RGB2BGR)
cv2.imwrite('deoldify.jpg', result_img)

 

用cv2读取老照片,并用PIL.Image模块将图片转换成模型输入所需要的格式,送入模型进行上色,完成后保存。

上述代码是我从项目源码中抽取的,可以看到,运行代码还是非常简单的。

感兴趣的朋友可以自己运行一下,也可以试试其他模型的效果。需要源码的朋友,在公众号回复 老照片上色 即可。

最后,感谢你的关注,我将持续分享优秀的 AI 项目。如果本文对你有用就点个 在看 鼓励一下吧。

在这里插入图片描述

标签:老照片,img,Python,模型,cv2,AI,import,gen
来源: https://www.cnblogs.com/1234567FENG/p/16374977.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有