说到短视频美颜SDK的应用,毫不夸张地讲有三分之二的短视频平台都会选择使用SDK,因为基于短视频独特的玩法和其携带的社交属性,美颜是非常重要的一部分。而现在大多数美颜SDK不仅包含基础的美颜功能,还包含有趣的特效贴纸或滤镜功能。近段时间,以视频模糊逐渐变清晰的玩法开始流行起来,所以本文来简单分享下关于表面模糊的实现方法。
1.表面模糊可以怎样理解
无论是图像还是视频,表面模糊的作用是在保留边缘的情况下对表面进行模糊处理。之所以应用在美颜SDK中是因为在人物的皮肤处理上这比高斯模糊更加有效一些。因为高斯模糊容易在使用过程中将一些人脸边缘的特征一起模糊掉,所以使用表面模糊会更加严谨一些。
2.存在怎样的不同之处
与其他算法不同的是,表面模糊在编程处理上的操作相对更加复杂且需要耗费更多的时间,相反高斯模糊在处理时通常采用统一的卷积矩阵进行。当然,这两种算法都可以实现美颜效果,但是具体如何选择还是要看开发者的喜好和所想开发的SDK侧重点是什么,在此基础上再进行算法的选择,所以将两者进行比较并不存在谁好谁坏之分。(附参考代码)
addpath('E:\Visual Effects\PS Algorithm');
Img=imread('1.jpg');
Img=double(Img);
imshow(Img/255);
img_out=Img;
R=Img(:, :, 1);
G=Img(:, :, 2);
B=Img(:, :, 3);
radi=5;
thre=25;
img_out(:, :, 1)=Surface_Blur(R, radi, thre);
img_out(:, :, 2)=Surface_Blur(G, radi, thre);
img_out(:, :, 3)=Surface_Blur(B, radi, thre);
figure, imshow(img_out/255);
for ii=1+radi : r-radi
for jj=1+radi : c-radi
patch=I_in (ii-radi:ii+radi, jj-radi:jj+radi);
p0=I_in(ii, jj);
mask_1= repmat(p0, 2*radi+1, 2*radi+1);
mask_2=1-abs(patch-mask_1)/(2.5*thre);
mask_3=max(mask_2, 0);
I_out(ii, jj)=sum(sum(patch.*mask_3))/sum(mask_3();
end
3.如何进行取舍
由于互联网存在的短视频平台种类、数量都非常多,所以对于短视频美颜SDK的开发者来说,在算法中进行取舍并不容易。当然,最终选择哪种算法,怎样实现,还是需要根据平台方的运营需求和平台整体的用户画像来进行决定的。所以,在进行取舍时需要先参考平台方的想法。
由此可见,要想有效提升平台收益和用户留存,选择短视频美颜SDK是具备一定优势的。至于如何才能选择到优质的SDK,具体还是要从各方面进行考量,比如SDK中包含的功能、开发团队是否具备技术开发实力、前端功能实现是否流畅等等。总而言之,美颜现在已经成为了大众的热门需求之一,从用户角度出发并以用户需求为主要发展目标,才是众多平台最应该首要实现的。