首页 > 其他分享 >短视频美颜SDK的抖动功能是怎么实现的

短视频美颜SDK的抖动功能是怎么实现的

时间:2022-11-09 17:08:20浏览次数:41  
标签:视频 抖动 美颜 图像 棋盘 SDK

小编在之前的文章中讲到过,短视频美颜SDK里的趣味功能,例如经常哈哈镜、柔化、光照等特殊拍摄玩法,这些功能的算法比较简单,想要实现的话并不困难。今天小编继续为大家讲解短视频美颜SDK的功能实现——“抖动效果”。

抖动效果作为短视频拍摄中一个比较重要的常用功能,得到了非常多的忠诚用户,特别是在“抖音”平台中,其热度更是高到令人发指。下文我将用一个简单的例子为大家介绍抖动效果是如何实现的。

短视频美颜SDK的抖动功能是怎么实现的_缩放

一、线条与矩形变换

在这里小编以“棋盘格”作为例子,大家应该都见过黑白色相间的棋盘格吧?首先我们设想一下棋盘格图像,因为棋盘格经常被用于短视频美颜SDK图像处理时的畸变校正等场合,可以通过棋盘格图像中线条和矩形的变换,看出图像经历了哪些变形。另外我们还需要编写一个棋盘格标定视频程序,不停地在视频中写入棋盘格图像,通过程序输出的图像可以观察到棋盘格在视频中有多种渐变状态,忽略颜色特效,棋盘格图片的大小不变,但是图片中的棋盘格在变少,每个格子出现了不同规模的放大,这是一个渐变的过程。

二、抽帧处理

因此在算法设计的时候,先忽略颜色的变化,因为抖音中加了颜色的特效,可以看到图像中边缘处又加上不同颜色的线条,这里仅仅考虑图像的缩放问题,而且为了算法足够简单,只设计两种图像状态。

对比抖动效果中的相邻几帧图片会发现,抖动效果的原理就是对视频中的一些帧进行剪切和放大,产生因为视觉残留而出现的闪影效果,具体步骤如下:

读取待处理的视频,设置出现抖动效果的帧数,比如相邻5帧的图像按照图像中心进行裁剪,然后缩放到原来的尺寸。设置抖动中不变的帧数,比如以5帧为间隔来处理图像。

短视频美颜SDK的抖动功能是怎么实现的_缩放_02

至于实现过程,小编在这里就不过多讲解了,因为会涉及很多开发上的程序,比较复杂,如果要讲解的话本篇的篇幅肯定是不够的,大家如果感兴趣我可以放在以后的文章中为大家单独讲解。

以上就是短视频美颜SDK中,抖动效果的实现原理。相信在以后,随着美颜SDK算法的进一步升级,功能方面还可以得到提升。

标签:视频,抖动,美颜,图像,棋盘,SDK
From: https://blog.51cto.com/u_14584991/5837331

相关文章