AI创造营~AnimeGAN一键生成日系动漫Vlog

news/2024/11/8 19:45:51/

目录:

  • AI创造营~AnimeGAN一键生成日系动漫Vlog
    • 引子
    • 效果展示图
      • 动漫化结果
  • 一、安装相关的库
  • 二、函数
  • 三、从视频提取图像
  • 四、图像转换为动漫风格并合成新的视频
  • 五、添加原始音频
  • 六、更多内容
  • 七、致谢

AI创造营~AnimeGAN一键生成日系动漫Vlog

引子

作为日本动漫的爱好者,特别是对宫崎骏、新海诚的童鞋们有福了。

本项目基于 PaddleHub 的动漫风格的转换模型,可以一键将视频转动漫哦!——>{日系风Vlog就在这}。

PaddleHub已将定制打造的街景动漫化模型animegan_v2_hayao_99、animegan_v2_shinkai_53、animegan_v2_paprika_98等多个优质模型开源。可以自行切换转换风格!

效果展示图

AI创造营~AnimeGAN一键生成日系动漫Vlog(附代码)

动漫化结果

一、安装相关的库

!pip install paddlehub
!pip install paddlepaddle
!pip install moviepy

二、函数

import cv2
from PIL import Image
import numpy as np
import os
import paddlehub as hub
from moviepy.editor import *
from tqdm import tqdm# Config
# 原始视频地址
original_video_path = './1.mp4'
# 提取视频图像的存放地址
original_video_img_path = './original_video_img/'
# 合成视频存放地址
img2video_path = './2.mp4'
# 添加声音后的视频最终输出地址
output_video_path = './3.mp4'# 从视频提取图片
def video2img(video_path, out_path):cap = cv2.VideoCapture(video_path)i=1while True:ret, frame = cap.read()if frame is None:breakelse:cv2.imwrite(out_path + str(i) + ".jpg", frame)i+=1return# 把图片转动漫并合成视频
def ani2video(img_path, org_video_path, out_path, model):# 获取图片总数file_list = os.listdir(img_path)img_num = len(file_list)# 查看原始视频的参数cap = cv2.VideoCapture(org_video_path)ret, frame = cap.read()# 任选一张图片查看高度和宽度result = model.style_transfer(images=[cv2.imread(os.path.join(img_path,file_list[0]))])height = result[0].shape[0]width = result[0].shape[1]fps = cap.get(cv2.CAP_PROP_FPS)  # 返回视频的fps--帧率# 把参数用到我们要创建的视频上video = cv2.VideoWriter(out_path, cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), fps, (width, height))  # 创建视频流对象"""参数1 即将保存的文件路径参数2 VideoWriter_fourcc为视频编解码器 cv2.VideoWriter_fourcc('m', 'p', '4', 'v') 文件名后缀为.mp4参数3 为帧播放速率参数4 (width,height)为视频帧大小"""for i in tqdm(range(img_num)):f_name = str(i + 1) + '.jpg'item = os.path.join(img_path, f_name)result = model.style_transfer(images=[cv2.imread(item)]) # 转换动漫风格video.write(result[0])  # 把图片写进视频video.release()  # 释放# 从原始视频上提取声音合成到新生成的视频上
def sound2video(org_video_path, new_video_path, out_video_path):# 读取原始视频video_o = VideoFileClip(org_video_path)# 获取原始视频的音频部分audio_o = video_o.audio# 读取新生成视频video_clip = VideoFileClip(new_video_path)# 指向新生成视频的音频部分video_clip2 = video_clip.set_audio(audio_o)# 修改音频部分并输出最终视频video_clip2.write_videofile(out_video_path)

三、从视频提取图像

if not os.path.exists(original_video_img_path):os.mkdir(original_video_img_path)
video2img(video_path=original_video_path, out_path=original_video_img_path)

四、图像转换为动漫风格并合成新的视频

# 根据自己喜好选择风格:
## 今敏:'animegan_v2_paprika_98'
## 新海诚:'animegan_v2_shinkai_53'
## 宫崎骏:'animegan_v2_hayao_99'
model = hub.Module(name='animegan_v2_hayao_99', use_gpu=True) 
ani2video(img_path=original_video_img_path, org_video_path=original_video_path, out_path=img2video_path, model=model)

五、添加原始音频

if not os.path.exists(output_video_path):sound2video(org_video_path=original_video_path, new_video_path=img2video_path, out_video_path=output_video_path)
else:print('最终视频已存在,请查看输出路径')

六、更多内容

  • 我的Github:https://github.com/Ryan906k9/AnimeVlog
  • 我的CSDN主页,欢迎关注:https://blog.csdn.net/qq_42067550

七、致谢

  • PaddleHub 官方项目集合:https://aistudio.baidu.com/aistudio/personalcenter/thirdview/79927
  • PaddleHub AnimeGAN动漫化模型一键应用(含动漫化小程序体验)项目:https://aistudio.baidu.com/aistudio/projectdetail/1308514

http://www.ppmy.cn/news/400143.html

相关文章

Midjourney AI 绘制动漫人物

AI 依据照片绘制动漫人物 注册成功以后,打开Midjourney > https://discord.gg/midjourney 1)建议生成专属的服务器: 添加服务器 > 回到Midjourney > newcommer 邀请bot到你的专属服务器 2)在专属的服务器上传图片>…

写个代码实现从视频中每帧获取PPT图片生成PPT

Python代码实现 要实现从视频中抽取 PPT 图片并生成 PPT 课件,可以借助 Python 中的一些第三方库来完成。具体步骤如下: 使用 OpenCV 库读取视频文件,并使用 PaddleOCR 库识别 PPT 页面的翻页标志,确定抽取图片的时间点。 import…

python学习之OpenCV-Python模块的部分应用示例(生成素描图和动漫图)

文章目录 前言一、图片转灰度二、对图片进行二值化处理三、对图片去除噪点四、调整图片透明度五、生成素描滤镜效果图(方法结合应用)六、生成动漫卡通滤镜效果图(方法结合应用)总结 前言 OpenCV 是一个图像和视频处理库&#xff…

【HTML】HTML网页设计----动漫网站设计

1、引言 设计结课作业,课程设计无处下手,网页要求的总数量太多?没有合适的模板?数据库,java,python,vue,html作业复杂工程量过大?毕设毫无头绪等等一系列问题。你想要解决的问题&am…

真二次元!动漫形象风格迁移

点击上方“机器学习与生成对抗网络”,关注星标 获取有趣、好玩的前沿干货! 文章:机器之心 一张输入人脸图像,竟能生成多样化风格的动漫形象。伊利诺伊大学香槟分校的研究者做到了,他们提出的全新 GAN 迁移方法实现了「…

动漫

转载于:https://www.cnblogs.com/zxy160/p/7828427.html

动漫风格化—AnimeGANv2

animegan2_face2paint_v2 bryandlee/naver-webtoon-faces AnimeGANv2 项目 [Project]AnimeGANv2 摘要 在计算机视觉和艺术风格转移方面,将现实世界场景的照片转换为动漫风格的图像是一项有意义且具有挑战性的任务。我们之前提出的AnimeGAN结合了神经风格迁移合…

纯css动漫轮播图

效果 代码 <!doctype html> <html> <head> <meta charset"utf-8"><meta name"author" content"JiuMeilove"/> <title>窗口轮播图</title> <style> * {margin: 0;padding: 0; } body {backgrou…