基于Python實(shí)現(xiàn)絲滑換裝視頻剪輯
看到人家用PR什么編輯軟件做這種絲滑一鍵換裝的視頻,自己也想嘗試一下。不過(guò)PR這破玩意太難用了,還不如敲代碼來(lái)的省事。
最開(kāi)始想用 moviepy 的 moviepy.video.fx.all.mask_color 蒙版處理,發(fā)現(xiàn)還要結(jié)合目標(biāo)識(shí)別這個(gè)復(fù)雜度就有點(diǎn)上頭了。然后換了一個(gè)思路進(jìn)行處理之后就算成功了吧。來(lái)看看成品效果先。
還是老套路先說(shuō)機(jī)器配置,機(jī)器配置不夠的玩不了這個(gè)。
軟硬件、技能需求
CPU最好是I7-8750以上,要不整體制作會(huì)非常慢
Python版本3.6以上
由于涉及到深度學(xué)習(xí)的模塊,從現(xiàn)在開(kāi)始需要顯卡了。
顏色變換說(shuō)明
支持廣泛的色彩空間。比如RGB、HSL/HSV、CMY/CMYK 等等各種色彩空間之間的轉(zhuǎn)換。例如 XYZ 到 sRGB,Spectral 到 XYZ,CIE Lab 到 Adob??e RGB。
色差計(jì)算。
色彩適應(yīng)(改變光源)。
RGB 到十六進(jìn)制,反之亦然。
Python 應(yīng)用插件
colormath 和 MiVOS 分別應(yīng)用顏色轉(zhuǎn)換調(diào)整和模塊交互式。
思路流程
你可能好奇這玩意砸出來(lái)的?
首先要了解一下顏色切換轉(zhuǎn)換的方法。
CIE Lab 到 CIE XYZ 轉(zhuǎn)換的簡(jiǎn)單示例。
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 空間進(jìn)行轉(zhuǎn)換
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) # 轉(zhuǎn)換回 XYZ,確保在 return 時(shí)使用相同的 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) # 與參考進(jìn)行比較的顏色 color2 = LabColor(lab_l=0.7, lab_a=14.2, lab_b=-1.80) # 作為浮點(diǎn)數(shù)的 delta E 值 delta_e = delta_e_cie1976(color1, color2)
MiVOS 模塊交互式
這個(gè)地方你可以理解成識(shí)別對(duì)應(yīng)顏色點(diǎn)之后一幀一幀的進(jìn)行替換最后合成效果圖那樣。



到此這篇關(guān)于基于Python實(shí)現(xiàn)絲滑換裝視頻剪輯的文章就介紹到這了,更多相關(guān)Python視頻剪輯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django 外鍵創(chuàng)建注意事項(xiàng)說(shuō)明
這篇文章主要介紹了django 外鍵創(chuàng)建注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
Python編寫(xiě)繪圖系統(tǒng)之從文本文件導(dǎo)入數(shù)據(jù)并繪圖
這篇文章主要為大家詳細(xì)介紹了Python如何編寫(xiě)一個(gè)繪圖系統(tǒng),可以實(shí)現(xiàn)從文本文件導(dǎo)入數(shù)據(jù)并繪圖,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-08-08
關(guān)于Tensorflow使用CPU報(bào)錯(cuò)的解決方式
今天小編就為大家分享一篇關(guān)于Tensorflow使用CPU報(bào)錯(cuò)的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
Python3爬蟲(chóng)中Splash的知識(shí)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于Python3爬蟲(chóng)中Splash的知識(shí)總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。2020-07-07
詳解HttpRunner3的HTTP請(qǐng)是如何發(fā)出
這篇文章主要為大家介紹了HttpRunner3的HTTP請(qǐng)是如何發(fā)出詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Python基于DFA算法實(shí)現(xiàn)內(nèi)容敏感詞過(guò)濾
DFA?算法是通過(guò)提前構(gòu)造出一個(gè)?樹(shù)狀查找結(jié)構(gòu),之后根據(jù)輸入在該樹(shù)狀結(jié)構(gòu)中就可以進(jìn)行非常高效的查找。本文將利用改算法實(shí)現(xiàn)敏感詞過(guò)濾,需要的可以參考一下2022-04-04

