Python算法自动剪辑视频,视频丝滑换装无须视频编辑器

看到人家用PR什么编辑软件做这种丝滑一键换装的视频,自己也想尝试一下。不过PR这破玩意太难用了,还不如敲代码来的省事。

最开始想用 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, XYZColor
from colormath.color_conversions import convert_color

lab = LabColor(0.903, 16.296, -2.22)
xyz = convert_color(lab, XYZColor)

想使用不同的 RGB 空间进行转换

from colormath.color_objects import XYZColor, HSLColor, AdobeRGBColor
from colormath.color_conversions import convert_color

xyz = 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 LabColor
from 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算法自动剪辑视频,视频丝滑换装无须视频编辑器

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年4月3日 下午8:18
下一篇 2022年4月4日

相关推荐