魔幻换天视频:

python实现魔幻换天特效,特效前,特效后对比视频

视频前后特效对比图

前几期的视频,我们分享了python代码实现的魔幻换天的视频特效,如何使用python代码实现?本期文章我们简单介绍一下工作原理。

视频特效对比前后

首先,需要到如下链接下载整个项目的源码:

github.com/jiupinjia/SkyAR

下载完成后,解压后的文件目录如下:

源代码目录文件

然后到如下地址下载预训练模型:

drive.google.com/file/d/1COMROzwR4R_7mym6DL9LXhHQlJmJaV0J/view?usp=sharing

模型名称:checkpoints_G_coord_resnet50.zip

下载完成后,解压到skyAR的当前目录中,项目中多一个文件夹checkpoints_G_coord_resnet50,目录如下:

需要加载预训练模型

然后,需要安装requirement里面要求的第三方工具包:

如下第三方包是项目需要的包,需要安装到自己的电脑里面,否则代码无法运行

matplotlib

scikit-image

scikit-learn

scipy

numpy

torch

torchvision

opencv-python

opencv-contrib-python

特效前后对比图

待以上准备工作完成后,便可以简单修改一下源码进行运行代码,这里需要要求你已经安装好了cuda版本的pytorch或者CPU版本的pytorch,若电脑里面没有GPU可以使用,可以直接使用CPU进行代码的运行,代码修改如下:

首先打开skymagic.py文件,更改前代码如下:

import numpy as np

import matplotlib.pyplot as plt

import cv2

import os

import glob

import argparse

from networks import *

from skyboxengine import *

import utils

import torch

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

parser = argparse.ArgumentParser(description='SKYAR')

parser.add_argument('--path', type=str, default='./config/config-canyon-jupiter.json', metavar='str',

help='configurations')

代码截图

更改后代码如下:我们注销了2,12,16-18行的代码,并修改13行代码为device = torch.device( "cpu"),这里修改的意思是使用CPU运行代码,若你电脑上面已经安装好了cuda,可以忽略此处的修改

import numpy as np

import matplotlib.pyplot as plt

import cv2

import os

import glob

#import argparse

from networks import *

from skyboxengine import *

import utils

import torch

device = torch.device( "cpu")

#parser = argparse.ArgumentParser(description='SKYAR')

#parser.add_argument('--path', type=str, default='./config/config-canyon-jupiter.json', metavar='str',

# help='configurations')

代码截图

修改完成后,需要修改一下main 函数里面的代码

修改前代码的第188行使用parser来进行配置文件的读取

if __name__ == '__main__':

config_path = parser.parse_args().path

args = utils.parse_config(config_path)

sf = SkyFilter(args)

sf.run()

代码截图

修改后,我们可以直接配置config配置文件下的配置文件

if __name__ == '__main__':

config_path = 'config/config-canyon-sunset.json'

args = utils.parse_config(config_path)

sf = SkyFilter(args)

sf.run()

代码截图

配置文件如下:

{

"net_G": "coord_resnet50",

"ckptdir": "./checkpoints_G_coord_resnet50",

"input_mode": "video",

"datadir": "./test_videos/canyon.mp4",

"skybox": "rainy.jpg",

"in_size_w": 384,

"in_size_h": 384,

"out_size_w": 845,

"out_size_h": 480,

"skybox_cernter_crop": 0.5,

"auto_light_matching": false,

"relighting_factor": 0.6,

"recoloring_factor": 0.5,

"halo_effect": true,

"output_dir": "./eval_output",

"save_jpgs": false

}

"ckptdir": "./checkpoints_G_coord_resnet50这里是预训练好的模型

"input_mode": "video",这里是输入的格式,当然也可以输入一张照片,照片设置为seq

"datadir": "./test_videos/canyon.mp4",这里是需要处理的视频地址

"skybox": "rainy.jpg",这里是添加特效的图片或者视频

代码截图

其他参数可以默认设置

最后,直接在本目录文件夹下cmd对话框中输入:

python skymagic.py

便可以看到模型实时渲染的特效视频,代码运行完成,会在当前目录生成合成后的视频

视频特效对比

当然,你也可以使用自己的数据,进行模型的训练,模型的训练使用train.py代码,详细步骤可以参考文章中的链接进行学习,本文只是简单介绍一下代码的基本使用,其中涉及的pytorch人工智能神经网络的搭建,模型的训练等知识,也可以参考往期关于pytorch等方面的知识,后期我们也会分享此方面的知识,关于pytorch不同版本的安装说明,pytorch官网有详细的介绍可以参考

特效视频截图

最后展示几张特效后的照片,有关视频可以查看文章开头的2个视频链接,进行视频的观看

视频特效

视频特效

python特效源代码_人工智能python代码实现魔幻换天视频特效相关推荐

  1. python画狗头_人工智能python+dlib+opencv技术10分钟实现抖音人脸变狗头详细图文教程和完整项目代码...

    效果展示 动态效果 静态效果 未完待续... 素材 项目讲解.代码和素材 开发环境 win7sp1 python                 3.6.3 dlib                 ...

  2. python爬虫源代码_【Python每日一问】Python爬虫能做什么?

    Python是一门非常简单易学好用,同时功能强大的编程语言,具有丰富和强大的库,开发效率特别高. python爬虫能做什么? 世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据 ...

  3. python文字游戏源代码_【Python】用Python实现2048小游戏(源代码,1.0版本)

    #2048 用python实现 import random import math import os global score score = 0 def start():#开始 a = [[0 f ...

  4. python房价预测_人工智能python实现-预测房价:回归问题

    3.6 预测房价:回归问题 前面两个例子都是分类问题,其目标是预测输入数据点所对应的单一离散的标签.另一种常见的机器学习问题是回归问题,它预测一个连续值而不是离散的标签,例如,根据气象数据预测明天的气 ...

  5. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  6. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  7. python 爬虫源代码-从零开始学Python网络爬虫_源代码.rar

    [实例简介] [实例截图] [核心代码] 从零开始学Python网络爬虫_源代码_1 ├── 58project │ ├── __pycache__ │ │ ├── channel_extract.c ...

  8. 学python人工智能需要多久_人工智能Python开发怎么学才能最快入门

    原标题:人工智能Python开发怎么学才能最快入门 学习 Python 的捷径是什么? 学习Python编程有没有捷径?有,那就是学习过程中牢记三个字--写.背.练 写的意思是把书中所有代码独自写一遍 ...

  9. python中提取pdf文件某些页_人工智能|Python提取PDF中的文本并朗读

    题前的话 之前有老师在群里推荐这个,我看了一眼觉得还是蛮有趣的,然后就忘了--昨天又看到这个<宅男福利!我50行Python代码让小姐姐给你读Pdf>,今天于是开始自己尝试,谁知道pdfp ...

最新文章

  1. ST为飞行时间传感器增加了多目标测距
  2. java 大端字节序_理解字节序 大端字节序和小端字节序
  3. Hihocoder 1370 快乐数字
  4. 异步asynctask
  5. postgresql表和列注释(描述)
  6. linux堆上的内存可执行吗,pwn的艺术浅谈(二):linux堆相关
  7. Netty学习笔记(五) 使用Netty构建静态网页服务器
  8. java做爬虫和python做爬虫_为什么常用Python,Java做爬虫,而不是C#C++等?
  9. 使用Dockerfile构建Nginx,Tomcat,MySQL镜像
  10. 微服务统一认证与授权的 Go 语言实现
  11. 教学向|如何快速入门maya制作动画,萌新也能冲
  12. codeforces 645 D Robot Rapping Results Report 【树形dp】
  13. 服务器怎么分盘?Windows系统服务器分盘操作方法
  14. 如何设置显示网络计算机,如何在台式计算机上设置无线局域网络
  15. git报 “The stash entry is kept in case you need it again“ 错误解析
  16. 五个温度带的分界线_中国划分为哪五个个温度带
  17. ff新推荐的关闭办法
  18. 在高通410c开发板使用PyQt开发电动窗帘Demo(五)
  19. Seed, Expand and Constrain: Three Principles for Weakly-Supervised Image Segmentation(2016 ECCV)
  20. 敏捷开发,持续集成/交付/部署, DevOps总结

热门文章

  1. 第一章 计算机基础知识
  2. 怎么搭建自己的网站赚钱,个人网站怎么操作
  3. ssm基于微信小程序的学习资料销售平台+ssm+uinapp+Mysql+计算机毕业设计
  4. 新浪微博--分享到微博的简单使用
  5. 大学英语综合教程三 Unit 6 课文内容英译中 中英翻译
  6. android数据球图,Android OpenGL球体贴图
  7. TDA4程序刷写方案
  8. windows10安装虚拟机详细教程
  9. NFDATA定义的一个细节
  10. 基于Go语言Gin+Xorm的OA办公系统