怎么在自己的网站上做漂浮链接,我想帮别人做网站有这样的平台吗,网站到期查询,眼镜网站模板目录
一.引言
二.gif_to_png
三.gfp_gan
四.png_to_gif
五.总结 一.引言
前面我们介绍了 GFP-GAN 提高人脸质量 与 OCR 提取视频台词、字幕#xff0c;前者可以提高图像质量#xff0c;后者可以从视频中抽帧#xff0c;于是博主便想到了将二者进行结合并优化人物 GIF … 目录
一.引言
二.gif_to_png
三.gfp_gan
四.png_to_gif
五.总结 一.引言
前面我们介绍了 GFP-GAN 提高人脸质量 与 OCR 提取视频台词、字幕前者可以提高图像质量后者可以从视频中抽帧于是博主便想到了将二者进行结合并优化人物 GIF 图像质量。其步骤如下
◆ MoviePy 截取视频关键帧
◆ GFP-GAN 提高人脸图像质量
◆ MoviePy 关键帧合并为 GIF
Tips:
后面的执行步骤需要电脑上已经配置好 GFP-GAN 的环境且安装了 moviepy 的依赖。 二.gif_to_png
def gif_to_png(_file_name, _output):from moviepy.editor import VideoFileClip# Load your gifclip VideoFileClip(_file_name)print(fDuration: {clip.duration} FPS: {clip.fps})# Loop over clip framesfor i, frame in enumerate(clip.iter_frames()):from PIL import Imageimg Image.fromarray(frame)img.save(f{_output}/frame_{i}.png)if __name__ __main__:file_name /Users/Desktop/ori.gifoutput /Users/Desktop/outgif_to_png(file_name, output)
这一步我们读取 gif 并抽帧保存为多张图片运行程序后会在 output 文件夹下得到 FPS x Duration 40 张图片:
Duration: 4.0 FPS: 10.0 由于是老版电视剧的原因gif 中人物的表情比较糊画质较差: 三.gfp_gan
python inference_gfpgan.py -i inputs/gif_imgs -o results -v 1.3 -s 2将上面的多帧图片存储至 GFP-GAN inputs 文件夹下执行 inference_gfpgan.py结果将输出至 results 文件夹内 其中 restored_imgs 文件夹内存储了我们修复的多帧图像看一下修复效果: 四.png_to_gif
def png_to_gif(_output, gif_name, fps):file_list os.listdir(_output)file_list.sort()# 构造多个 ImageClip 片段clips [ImageClip(_output img).set_duration(1) for img in file_list if img.endswith(.png)]concat_clip concatenate_videoclips(clips, methodcompose)concat_clip.write_gif(gif_name, fpsfps)if __name__ __main__:file_name /Users/Desktop/ori.gif # 原始 GIFinput /Users/Desktop/result/restored_imgs/ # 修复帧output out.gif # 输出 GIF# 匹配原 GIF 的 FPSori_fps VideoFileClip(file_name).fpspng_to_gif(input, output, ori_fps)
MoviePy - Building file out.gif with imageio.
出现上述命令后代表开始多帧图像的合并可以看到修复后的 GIF 人物更加的清晰: 五.总结
GFP-GAN 整体来说可玩性还是很高后面博主会继续跟进 wave2lip 的测试把音频、图像、视频结合到一起。这里我们处理的原始 gif 大小为 10m处理后大小为 14m同时如果资源比较充足的话也可以将 GIF 扩展为视频人物细节处理。