前面我们讲过,短视频美颜中,经常会看到到哈哈镜、柔化、光照等特殊效果,它们的算法比较简单,实现起来也并不难。今天小编再来补充下,短视频拍摄中一个比较重要的常用效果,抖动效果的实现原理。
抖动效果是抖音这类平台的招牌功能,为了搞清楚抖音中集成的视频都用效果,这里先设计一个测试视频作为标准,用来找到抖音中的算法奥秘。首先读入一张棋盘格图像,棋盘格经常被用于图像处理时的畸变校正等场合。可以通过棋盘格图像中线条和矩形的变换,看出图像经历了哪些变形,如下:
为此我们需要编写一个棋盘格标定视频程序,不停地在视频中写入棋盘格图像。
通过程序输出的图像可以观察到,棋盘格在视频中有多种渐变状态,忽略颜色特效,棋盘格图片的大小不变。但是图片中的棋盘格在变少,每个格子出现了不同规模的放大,这是一个渐变的过程。
因此在算法设计的时候,先忽略颜色的变化,因为抖音中加了颜色的特效,可以看到图像中边缘处又加上不同颜色的线条,这里仅仅考虑图像的缩放问题,而且为了算法足够简单,只设计两种图像状态。
对比抖动效果中的相邻几帧图片会发现,抖动效果的原理就是对视频中的一些帧进行剪切和放大,产生因为视觉残留而出现的闪影效果,具体步骤如下:
读取待处理的视频,设置出现抖动效果的帧数,比如相邻5帧的图像按照图像中心进行裁剪,然后缩放到原来的尺寸。设置抖动中不变的帧数,比如以5帧为间隔来处理图像。
至于实现过程,由于牵扯到一些开发上的程序,再次就不做展开了。
以上就是短视频美颜中,抖动效果的实现原理,接下来的几篇文章,我会逐步介绍下其他效果,诸如闪白、霓虹、时光倒流等,如果您对短视频美颜、直播美颜sdk开发感兴趣,欢迎咨询官方客服。
声明:本文由美狐原创,未经允许禁止转载,谢谢合作。