当前位置: 首页 > 后端技术 > Python

Python+AI给老照片上色_0

时间:2023-03-26 16:40:51 Python

今天分享一下利用NoGAN的图像增强技术给老照片上色。效果如下:对原图进行着色后,NoGAN是一种新型的GAN,可以在GAN训练上花费最少的时间。今天分享的项目是GitHub上的一个开源项目,下面运行一下。一、准备工作首先,使用gitclone命令下载源码gitclonehttps://github.com/jantic/DeOldify.git进入项目根目录,安装Python依赖包pip3install-rrequirements.txt编写前代码和运行项目,你需要下载预训练模型。该项目提供了三种模型模型区别如下:ColorizeArtistic_gen.pth:在有趣的细节和活力方面达到最高质量的图像着色效果,该模型使用resnet34作为UNet上的主干,并使用NoGAN进行5次critic预训练/GANretrainingColorizeStable_gen.pth:在风景和人像上取得了最好的效果,该模型使用NoGAN预训练了3次,使用resnet101作为主干/Critic预训练/GANNoGAN。由于追求流畅的速度,所以颜色比前两者少。将下载好的模型文件放在项目根目录下的models目录下。2.编写代码在项目根目录同级目录下创建一个Python文件,并编写代码加载刚刚下载的模型文件。fromDeOldify.deoldify.generatorsimportgen_inference_widefromDeOldify.deoldify.filtersimportMasterFilter,ColorizerFilter#指定模型文件learn=gen_inference_wide(root_folder=Path('./DeOldify'),weights_name='ColorizeFideo_gen')#加载模型deoldfly_mod([ColorizerFilter(learn=learn)],render_factor=10)root_folder指定项目的根目录,weights_name指定接下来使用哪个模型给照片上色。读取旧照片进行着色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_RGB2.old_writev(jpg',jpg')citev)使用cv2读取旧照片,并使用PIL.Image模块将图片转换成模型输入需要的格式,发送给模型着色,完成后保存。以上代码摘自项目源码。可以看到,运行代码还是很简单的。有兴趣的朋友可以自己跑一下,或者试试其他模型的效果。以上就是本次分享的全部内容。觉得文章还不错的话,请关注公众号:Python编程学习圈,每日干货分享,发送“J”还能领取大量学习资料。或者去编程学习网了解更多编程技术知识。