python特效源代码_人工智能python代码实现魔幻换天视频特效
魔幻换天视频:
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代码实现魔幻换天视频特效相关推荐
- python画狗头_人工智能python+dlib+opencv技术10分钟实现抖音人脸变狗头详细图文教程和完整项目代码...
效果展示 动态效果 静态效果 未完待续... 素材 项目讲解.代码和素材 开发环境 win7sp1 python 3.6.3 dlib ...
- python爬虫源代码_【Python每日一问】Python爬虫能做什么?
Python是一门非常简单易学好用,同时功能强大的编程语言,具有丰富和强大的库,开发效率特别高. python爬虫能做什么? 世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据 ...
- python文字游戏源代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
#2048 用python实现 import random import math import os global score score = 0 def start():#开始 a = [[0 f ...
- python房价预测_人工智能python实现-预测房价:回归问题
3.6 预测房价:回归问题 前面两个例子都是分类问题,其目标是预测输入数据点所对应的单一离散的标签.另一种常见的机器学习问题是回归问题,它预测一个连续值而不是离散的标签,例如,根据气象数据预测明天的气 ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python 爬虫源代码-从零开始学Python网络爬虫_源代码.rar
[实例简介] [实例截图] [核心代码] 从零开始学Python网络爬虫_源代码_1 ├── 58project │ ├── __pycache__ │ │ ├── channel_extract.c ...
- 学python人工智能需要多久_人工智能Python开发怎么学才能最快入门
原标题:人工智能Python开发怎么学才能最快入门 学习 Python 的捷径是什么? 学习Python编程有没有捷径?有,那就是学习过程中牢记三个字--写.背.练 写的意思是把书中所有代码独自写一遍 ...
- python中提取pdf文件某些页_人工智能|Python提取PDF中的文本并朗读
题前的话 之前有老师在群里推荐这个,我看了一眼觉得还是蛮有趣的,然后就忘了--昨天又看到这个<宅男福利!我50行Python代码让小姐姐给你读Pdf>,今天于是开始自己尝试,谁知道pdfp ...
最新文章
- ST为飞行时间传感器增加了多目标测距
- java 大端字节序_理解字节序 大端字节序和小端字节序
- Hihocoder 1370 快乐数字
- 异步asynctask
- postgresql表和列注释(描述)
- linux堆上的内存可执行吗,pwn的艺术浅谈(二):linux堆相关
- Netty学习笔记(五) 使用Netty构建静态网页服务器
- java做爬虫和python做爬虫_为什么常用Python,Java做爬虫,而不是C#C++等?
- 使用Dockerfile构建Nginx,Tomcat,MySQL镜像
- 微服务统一认证与授权的 Go 语言实现
- 教学向|如何快速入门maya制作动画,萌新也能冲
- codeforces 645 D Robot Rapping Results Report 【树形dp】
- 服务器怎么分盘?Windows系统服务器分盘操作方法
- 如何设置显示网络计算机,如何在台式计算机上设置无线局域网络
- git报 “The stash entry is kept in case you need it again“ 错误解析
- 五个温度带的分界线_中国划分为哪五个个温度带
- ff新推荐的关闭办法
- 在高通410c开发板使用PyQt开发电动窗帘Demo(五)
- Seed, Expand and Constrain: Three Principles for Weakly-Supervised Image Segmentation(2016 ECCV)
- 敏捷开发,持续集成/交付/部署, DevOps总结