看到人家用PR什么编辑软件做这种丝滑一键换装的视频,自己也想尝试一下。不过PR这破玩意太难用了,还不如敲代码来的省事。
最开始想用moviepy的moviepy.video.fx.all.mask_color蒙版处理,发现还要结合目标识别这个复杂度就有点上头了。然后换了一个思路进行处理之后就算成功了吧。来看看成品效果先。
还是老套路先说机器配置,机器配置不够的玩不了这个。
软硬件、技能需求
CPU最好是I7-以上,要不整体制作会非常慢Python版本3.6以上由于涉及到深度学习的模块,从现在开始需要显卡了。
颜色变换说明
支持广泛的色彩空间。比如RGB、HSL/HSV、CMY/CMYK等等各种色彩空间之间的转换。例如XYZ到sRGB,Spectral到XYZ,CIELab到AdobeRGB。色差计算。色彩适应(改变光源)。RGB到十六进制,反之亦然。
Python应用插件
colormath和MiVOS分别应用颜色转换调整和模块交互式。
思路流程
你可能好奇这玩意砸出来的?
首先要了解一下颜色切换转换的方法。
CIELab到CIEXYZ转换的简单示例。
fromcolormath.color_objectsimportLabColor,XYZColorfromcolormath.color_conversionsimportconvert_colorlab=LabColor(0.,16.,-2.22)xyz=convert_color(lab,XYZColor)
想使用不同的RGB空间进行转换
fromcolormath.color_objectsimportXYZColor,HSLColor,AdobeRGBColorfromcolormath.color_conversionsimportconvert_colorxyz=XYZColor(0.1,0.2,0.3)hsl=convert_color(xyz,HSLColor,through_rgb_type=AdobeRGBColor)#转换回XYZ,确保在turn时使用相同的RGB颜色空间。xyz2=convert_color(hsl,XYZColor,through_rgb_type=AdobeRGBColor)
DeltaE方程
fromcolormath.color_objectsimportLabColorfromcolormath.color_diffimportdelta_e_cie#参考颜色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)#作为浮点数的deltaE值delta_e=delta_e_cie(color1,color2)
MiVOS模块交互式
这个地方你可以理解成识别对应颜色点之后一帧一帧的进行替换最后合成效果图那样。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#机器学习##韩国女团##视频剪辑##每天学python##视频混剪#