Python黑白图片上色如何实现?Python怎么实现照片上色功能

现在互联网上发展最为迅速和热度最高的技术就是人工智能了,而python作为其主要开发和实现语言之一,也是受到了不少的收益 。那么下面这篇文章就是来讲解一下python是如何实现利用人工智能来完成照片上色功能的,感兴趣的话就一起往下看看吧 。

Python黑白图片上色如何实现?Python怎么实现照片上色功能

文章插图
1.人工智能的本质就是通过算法大量执行训练之后得到的模型,而这些模型就是能够对某些特定的对象起作用 。而python照片上色所要用到的就是一个开源项目所提供的人工智能模型,打开命令行后执行git命令拉取源码,如下所示:
git clone https://github.com/jantic/DeOldify.git拉取源码就是从github上将该项目的文件夹及其文件给下载到当前文件目录,所以在执行命令之前需要使用cd命令切换到一个空文件夹才可以 。
2.源码拉取下来之后使用cd命令进入到该项目根目录中,然后接着执行一个命令来将依赖包,也就是模型下载好,示例如下:
pip3 install -r requirements.txt【Python黑白图片上色如何实现?Python怎么实现照片上色功能】下载好之后会多出来三个pth后缀的文件,将它们移动到项目目录的models文件夹之中 。
3.然后在项目文件目录下新建python脚本文件来编写代码,在代码之中首先需要导入模型文件来将其给加载好,然后再导入图像处理库PIL、numpy以及cv2 。
调用方法将图片读取到程序之中后将其转为指定颜色模式后再转为数组形式,然后就是使用加载好的模型来实现图像上色操作,详细代码示例如下所示:
from DeOldify.deoldify.generators import gen_inference_widefrom DeOldify.deoldify.filters import MasterFilter, ColorizerFilterlearn = gen_inference_wide(root_folder=Path('./DeOldify'), weights_name='ColorizeVideo_gen')deoldfly_model = MasterFilter([ColorizerFilter(learn=learn)], render_factor=10)import cv2import numpy as npfrom PIL import Imageimg = 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)以上就是关于“Python黑白图片上色如何实现?Python怎么实现照片上色功能”的全部内容了,希望对你有所帮助 。

    推荐阅读