短影片美顏SDK的抖動功能是怎麼實現的

秋2305998853發表於2022-11-09

小編在之前的文章中講到過 短影片美顏 SDK裡的趣味功能,例如 經常哈哈鏡、柔化、光照等特殊 拍攝玩法 這些功能 的演算法比較簡單, 想要實現的話 並不 難。今天小編 繼續為大家講解短影片美顏 SDK的功能實現——“抖動效果”。

抖動效果作為 短影片拍攝中一個比較重要的 常用功能,得到了非常多的忠誠使用者,特別是在 “抖音”平臺中,其熱度更是高到令人髮指。下文我將用一個簡單的例子為大家介紹抖動效果是如何實現的。

短影片美顏SDK的抖動功能是怎麼實現的

一、線條與矩形變換

在這裡小編以 “棋盤格”作為例子,大家應該都見過黑白色相間的棋盤格吧? 首先 我們設想一下 棋盤格影像, 因為 棋盤格經常被用於 短影片美顏 SDK 影像處理時的畸變校正等場合 可以透過棋盤格影像中線條和矩形的變換,看出影像經歷了哪些變形 另外 我們 需要編寫一個棋盤格標定影片程式,不停地在影片中寫入棋盤格影像 透過程式輸出的影像可以觀察到棋盤格在影片中有多種漸變狀態,忽略顏色特效,棋盤格圖片的大小不變 但是圖片中的棋盤格在變少,每個格子出現了不同規模的放大,這是一個漸變的過程。

二、抽幀處理

因此在演算法設計的時候,先忽略顏色的變化,因為抖音中加了顏色的特效,可以看到影像中邊緣處又加上不同顏色的線條,這裡僅僅考慮影像的縮放問題,而且為了演算法足夠簡單,只設計兩種影像狀態。

對比抖動效果中的相鄰幾幀圖片會發現,抖動效果的原理就是對影片中的一些幀進行剪下和放大,產生因為視覺殘留而出現的閃影效果,具體步驟如下:

讀取待處理的影片,設定出現抖動效果的幀數,比如相鄰 5幀的影像按照影像中心進行裁剪,然後縮放到原來的尺寸。設定抖動中不變的幀數,比如以5幀為間隔來處理影像。

短影片美顏SDK的抖動功能是怎麼實現的

至於實現過程,小編在這裡就不過多講解了,因為會涉及很多開發上的程式,比較複雜,如果要講解的話本篇的篇幅肯定是不夠的,大家如果感興趣我可以放在以後的文章中為大家單獨講解。

以上就是 短影片美顏 SDK 中,抖動效果的實現原理 相信在以後,隨著美顏 SDK演算法的進一步升級,功能方面還可以得到提升。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69951589/viewspace-2922606/,如需轉載,請註明出處,否則將追究法律責任。

相關文章