基于Python实现丝滑换装视频剪辑
目录
- 软硬件、技能需求
- 颜色变换说明
- Python 应用插件
- 思路流程
- MiVOS 模块交互式
最开始想用 moviepy 的 moviepy.video.fx.all.mask_color 蒙版处理,发现还要结合目标识别这个复杂度就有点上头了。然后换了一个思路进行处理之后就算成功了吧。来看看成品效果先。
python 丝滑换衣算法演示
还是老套路先说机器配置,机器配置不够的玩不了这个。
软硬件、技能需求 CPU最好是I7-8750以上,要不整体制作会非常慢
Python版本3.6以上
由于涉及到深度学习的模块,从现在开始需要显卡了。
颜色变换说明 支持广泛的色彩空间。比如RGB、HSL/HSV、CMY/CMYK 等等各种色彩空间之间的转换。例如 XYZ 到 sRGB,Spectral 到 XYZ,CIE Lab 到 Adob??e RGB。
色差计算。
色彩适应(改变光源)。
RGB 到十六进制,反之亦然。
Python 应用插件 colormath 和 MiVOS 分别应用颜色转换调整和模块交互式。
思路流程 你可能好奇这玩意砸出来的?
首先要了解一下颜色切换转换的方法。
CIE Lab 到 CIE XYZ 转换的简单示例。
from colormath.color_objects import LabColor, XYZColorfrom colormath.color_conversions import convert_colorlab = LabColor(0.903, 16.296, -2.22)xyz = convert_color(lab, XYZColor)
想使用不同的 RGB 空间进行转换
from colormath.color_objects import XYZColor, HSLColor, AdobeRGBColorfrom colormath.color_conversions import convert_colorxyz = XYZColor(0.1, 0.2, 0.3)hsl = convert_color(xyz, HSLColor, through_rgb_type=AdobeRGBColor)# 转换回 XYZ,确保在 return 时使用相同的 RGB 颜色空间。xyz2 = convert_color(hsl, XYZColor, through_rgb_type=AdobeRGBColor)
Delta E 方程
from colormath.color_objects import LabColorfrom colormath.color_diff import delta_e_cie1976# 参考颜色color1 = LabColor(lab_l=0.9, lab_a=16.3, lab_b=-2.22)# 与参考进行比较的颜色color2 = LabColor(lab_l=0.7, lab_a=14.2, lab_b=-1.80)# 作为浮点数的 delta E 值delta_e = delta_e_cie1976(color1, color2)
MiVOS 模块交互式 这个地方你可以理解成识别对应颜色点之后一帧一帧的进行替换最后合成效果图那样。
文章图片
文章图片
【基于Python实现丝滑换装视频剪辑】到此这篇关于基于Python实现丝滑换装视频剪辑的文章就介绍到这了,更多相关Python视频剪辑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Flutter使用AnimatedBuilder实现动效复用
- IRDM python
- Docker容器下运行Nginx并实现反向代理
- .Net结合JS实现URL编码与解码
- 如何利用Python将字典转为成员变量
- Python数据可视化(5段代码搞定散点图绘制与使用,值得收藏)
- 【Python】Python基础知识【第一版】
- 如何基于|如何基于 ZEGO SDK 实现 Android 一对一音视频聊天应用
- 小程序|C语言实现通讯录
- 使用jenkins实现前端自动化打包部署(Linux版本)