e-works数字化企业网  »  文章频道  »  基础信息化  »  移动应用

Android中图片压缩分析(下)

2017/11/14    来源:腾讯云    作者:佚名      
关键字:Android  压缩分析  
上篇我们详细介绍了图片质量压缩的相关内容和算法,接下来的下篇给大家介绍一下图片的尺寸压缩和常用的几种尺寸压缩算法。

    这个算法在 Android 中并没有原生支持,如果需要使用,可以通过手动编写算法或者引用第三方算法库,幸运的是这个算法在 ffmpeg 中已经给到了支持,具体的实现在 libswscale/swscale.c 文件中:FFmpeg Scaler Documentation。
 
    双立方/双三次插值算法经常用于图像或者视频的缩放,它能比双线性内插值算法保留更好的细节质量。我们看看这个算法的实际表现和与双线性内插值算法的下采样对比:
 
    原图:
 
Android中图片压缩分析(下)
 
    双三次采样:
 
Android中图片压缩分析(下)
 
    双线性采样:
 
Android中图片压缩分析(下)
 
    就下采样来说,两者表现很相近,肉眼可见的差距不大,接下来比较一下这两种算法的上采样实际表现:
 
    原图:
 
Android中图片压缩分析(下)
 
    双三次采样:
 
Android中图片压缩分析(下)
 
    双线性采样:
 
Android中图片压缩分析(下)
 
    这两种算法的上采样结果我们还是可以看见较为明显的差距,双立方/双三次采样的锯齿是要小一些。
 
    双立方/双三次插值算法在平时的软件中是很常用的一种图片处理算法,但是这个算法有一个缺点就是计算量会相对比较大,是前三种算法中计算量最大的,软件 photoshop 中的图片缩放功能使用的就是这个算法。
 
    六、Lanczos Resampling
 
    Lanczos 采样和 Lanczos 过滤是 Lanczos 算法的两种常见应用,它可以用作低通滤波器或者用于平滑地在采样之间插入数字信号,Lanczos 采样一般用来增加数字信号的采样率,或者间隔采样来降低采样率。
 
    Lanczos 采样使用的 Lanczos 算法也可以用来作为图片的缩放,Lanczos 算法和双三次插值算法都是使用卷积核来通过输入像素计算输出像素,只不过在算法表现上稍有不同。关于卷积核的介绍,这里给一张简单的图片帮助大家理解:
 
Android中图片压缩分析(下)
 
    Lanczos 从算法角度讲理论上会比双三次/双立方插值算法更好一点,先来看看它和双三次/双立方采样的图片下采样对比:
 
    原图:
 
Android中图片压缩分析(下)
 
    Lanczos 采样:
 
Android中图片压缩分析(下)
 
    双三次采样:
 
Android中图片压缩分析(下)
 
    基本看不出差别,然后是这两种算法的上采样对比:
 
    原图:
 
Android中图片压缩分析(下)
 
    Lanczos 采样:
 
Android中图片压缩分析(下)

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐