几大经典算法c语言cnds,浮点数据有损压缩算法 附完整C代码

在几年前的时候在做修图APP算法的时候,

曾经一度想过对3D Lut 预设数据进行压缩,

主要用于提升用户体验。

关于3d lut算法开源的资源也挺多的,就不多做科普了。

有兴趣的朋友,可以去查阅下ffmepg项目相关实现代码。

最早接触3d lut算法是2014年逆向 VSCO Cam 胶片算法的时候,

当然一开始我也不知道它的算法是3d lut,

是反反复复编写各个版本,算法优化,

直到有一天我突然想起一个常量特别奇怪,

后来有一段时间在看3d lut算法资料的时候,觉得算法特别熟悉。

后来自然也就知道啥情况了。

那时候在做一款APP,考虑压缩预设资源的时候,

当时由于项目匆忙,采用LZ压缩算法,自然压缩比并不高。

导致预设文件偏大,有点占资源体积。

原来预想要做一下浮点类型的压缩算法的,这一拖,就没后文了。

很多人很好奇胶片滤镜算法,是怎么实现的,

网上流传了很多个版本,作为一名资深安全研究员,我就说一下大概情况。

早期绝大数APP采用了 2d lut去模拟 VSCO Cam的效果,

思路比较简单,就是做一个2D颜色映射表进行插值实现,一般是512*512*3 的颜色表,

GPUImage里面有具体实现,感兴趣的可以去看下,这里也不展开了。

我这边还保留着当年原汁原味的VSCO Cam胶片算法。

再到近些年,深度学习 神经网络大火,笔者在做手机端前向传播的时候,

再一次碰到类似的问题。

模型量化,模型压缩等等。

模型量化的思路其实也挺简单的,例如32位量化到16位,

或者量化到8位,通过降低精度获取一定的性能提升和资源压缩。

就量化一个操作,就可以做到既提升性能又压缩模型体积,

所以肯定是比较不错的方案。

当然在IOS下还可以考虑采用内存映射的方式,

将物理空间映射为内存空间,以减少内存占用之类的。

当然这种方式必须是操作系统的文件类型支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值