魔扣论坛

魔扣源码论坛业务
查看: 28|回复: 2

视频美化sdk中包含哪些核心滤镜,滤镜算法是怎样的

[复制链接]
  • TA的每日心情

    昨天 15:14
  • 签到天数: 35 天

    [LV.5]经常留意

    35

    主题

    39

    帖子

    198

    积分

    初级魔扣

    Rank: 2

    魔扣币
    359
    贡献
    145
    威望
    0
    发表于 2019-9-26 10:54:51 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】
    淘宝、天猫优惠券

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    现在大部分年轻人无论是拍照还是拍视频,他们都会在拍摄或拍摄完成后对视频进行美化,也就是我们常说的添加滤镜、美颜、贴纸等等,而针对视频来讲的话添加滤镜似乎更加方便一些,为了使用户可以在拍摄中或拍摄后轻松添加滤镜,在APP中接入视频美化sdk是非常核心的操作。本文来简单分享下视频美化sdk有关的内容。

    由于在之前的文章中已经提到过关于常规滤镜(黑白、灰度)的算法实现,详情可参考《美狐滤镜sdk技术(一):所谓的滤镜算法如何实现》。

    1. 反向滤镜

    RGB三种颜色分别取255的差值,部分参考代码如下:

    for(var i = 0; i < data.length; i+= 4) {

          data = 255 - data;

          data[i + 1] = 255 - data[i + 1];

          data[i + 2] = 255 - data[i + 2];

    }

    8.png

    2. 单色滤镜

    即只保留一种颜色,其他的颜色设置为0,部分参考代码如下:

    for(var i = 0; i < canvas.height * canvas.width; i++) {

        data[i*4 + 2] = 0;

        data[i*4 + 1] = 0;

    }

    3. 高斯模糊滤镜

    其实高斯模糊的原理,就是根据正态分布使每个像素点周围的权重不一致,从而使得各个权重值和为1且与对应的色值相乘,将结果求和为中心像素点新的色值。部分参考代码如下:

    function gaussBlur(imgData, radius, sigma) {

        var pixes = imgData.data,

            height = imgData.height,

            width = imgData.width,

            radius = radius || 5;

            sigma = sigma || radius / 3;

       

        var gaussEdge = radius * 2 + 1;

        var gaussMatrix = [],

            gaussSum = 0,

            a = 1 / (2 * sigma * sigma * Math.PI),

            b = -a * Math.PI;

       

        for(var i = -radius; i <= radius; i++) {

            for(var j = -radius; j <= radius; j++) {

                var gxy = a * Math.exp((i * i + j * j) * b);

                gaussMatrix.push(gxy);

                gaussSum += gxy;

            }

    7.png

    之所以分享一些视频美化sdk中包含的一些核心滤镜,主要是因为一些以视频社交分享为主的平台用户需要对自己拍摄的视频进行美化,可以选择在拍摄之前选择滤镜直接拍摄,也可以根据拍摄完成的视频选择相对的滤镜。这样一来不仅可以使拍摄出的视频变得更加有质感,还可以满足用户的拍摄和后期美化体验。对于平台来说,自由的对视频进行编辑可以有效提升用户对APP的依赖性,从而在一定程度上提升用户留存。

    目前市面上存在不同品牌的视频美化sdk,但是在选择过程中还是要根据自身平台特性和用户需求为主,除此之外还需要考虑该sdk是否具备一定的稳定性和流畅性,这对后期的用户体验也是可以构成直接影响的。

    声明:以上内容均为作者本人原创,转载需注明作者及原文链接,欢迎转载分享。


    该用户从未签到

    2

    主题

    205

    帖子

    408

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    203
    贡献
    203
    威望
    0
    发表于 2019-9-26 11:03:31 | 显示全部楼层
    为毛老子总也抢不到沙发?!!

    该用户从未签到

    0

    主题

    217

    帖子

    434

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    217
    贡献
    217
    威望
    0
    发表于 2019-10-3 09:41:07 | 显示全部楼层
    为你这无私奉献的精神所深深的折服,特此颁发好人证,以此鼓励!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表