V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ljy1398202806
V2EX  ›  问与答

图片无损压缩的原理是什么?

  •  
  •   ljy1398202806 · 2019-07-16 07:55:21 +08:00 · 5105 次点击
    这是一个创建于 1718 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前写过一篇文章 https://blog.ljyngup.com/archives/267.html/

    感觉好用也就用着了

    今天看到突然觉得很流批,这类图片压缩软件工作原理是啥?是减少色点吗

    第 1 条附言  ·  2019-07-16 08:29:11 +08:00
    标题描述有误,去除无损两字
    21 条回复    2019-07-17 18:31:56 +08:00
    Kinnice
        1
    Kinnice  
       2019-07-16 08:02:39 +08:00 via Android
    这也不是无损呀
    ziseyinzi
        2
    ziseyinzi  
       2019-07-16 08:06:19 +08:00 via Android
    你这也妹无损呀
    ljy1398202806
        3
    ljy1398202806  
    OP
       2019-07-16 08:27:52 +08:00 via Android
    @ziseyinzi 无损不可能,就是这类压缩软件啥原理啊
    xwhxbg
        4
    xwhxbg  
       2019-07-16 08:29:50 +08:00
    一种做法是奇异值分解,矩阵的奇异值或者说 singular vector 代表矩阵的信息特征,可以通过去掉某些较小的奇异值然后用剩余的奇异值重建矩阵达到压缩的目的。
    labnotok
        5
    labnotok  
       2019-07-16 08:30:56 +08:00 via Android
    信息论,概率论。

    信息率失真函数了解一下
    ljy1398202806
        6
    ljy1398202806  
    OP
       2019-07-16 08:55:59 +08:00 via Android
    @xwhxbg 膜拜谢谢了
    xenme
        7
    xenme  
       2019-07-16 08:56:26 +08:00 via iPhone
    这是无损?有信息丢失了还是无损?
    threebr
        8
    threebr  
       2019-07-16 08:58:26 +08:00
    jpg 似乎是分块做傅里叶变换?
    ljy1398202806
        9
    ljy1398202806  
    OP
       2019-07-16 09:15:28 +08:00 via Android
    @xenme 附加信息
    flowfire
        10
    flowfire  
       2019-07-16 09:36:06 +08:00 via iPhone
    原图:11111122222322222
    无损压缩: 6 个 1,5 个 2,3,5 个 2
    有损压缩:6 个 1,11 个 2
    wunonglin
        11
    wunonglin  
       2019-07-16 10:13:00 +08:00
    @flowfire 15 个 5,要不要
    acess
        12
    acess  
       2019-07-16 10:30:44 +08:00
    无损压缩 jpg 也是有的……我只知道一个 rejpeg,当年在快压有关的帖子里看到的。
    lunafreya
        13
    lunafreya  
       2019-07-16 10:34:14 +08:00 via iPhone
    png 一般是无损的,无损压缩利用了图像信息中的冗余。
    acess
        14
    acess  
       2019-07-16 10:34:28 +08:00
    哦,针对 png 的也有,pngcrush。
    wr410
        15
    wr410  
       2019-07-16 10:40:45 +08:00
    像 bmp 位图一样,重复数据多,我发明一个新的 bmz 格式内部 zip 压缩一下就是无损。
    niubee1
        16
    niubee1  
       2019-07-16 10:53:21 +08:00
    请关注 李永乐 老师
    blinue
        17
    blinue  
       2019-07-16 10:59:51 +08:00 via Android
    bmp 也支持行程长度编码,虽然没人用
    jpg 用离散余弦变换,去除了高频,所以有损,但最新的 jpg2000 改成了小波变换,已经支持无损了
    yuikns
        18
    yuikns  
       2019-07-16 11:03:47 +08:00
    @flowfire 说的是无损如何做。
    但这个是有损的,放大图可以比较得比较清楚。

    本工程貌似调用的是

    https://pngquant.org/https://developers.google.com/speed/webp/docs/cwebp

    主要工作是把三个平台的二进制一起打包,然后输入内容调用它们的压缩选择编译操作系统执行脚本。
    算法它们官网都有说
    ipwx
        19
    ipwx  
       2019-07-16 11:07:03 +08:00
    无损压缩:任何无损压缩(包括 RAR、PNG )都是在提高编码密度,使得文件大小逼近香浓熵这个理论下界。(信息论)

    有损压缩:人比较弱鸡,无法分辨高频信息。于是可以把图片转换到某种频域,然后剔除高频信息,只保留一定程度的低频信息。(傅立叶变换、小波变换、etc )
    flowfire
        20
    flowfire  
       2019-07-16 11:09:29 +08:00
    @wunonglin #11 王炸,我只剩一张牌了
    julyclyde
        21
    julyclyde  
       2019-07-17 18:31:56 +08:00
    图片无损压缩

    非图片无损压缩
    原理相同

    而图片有损压缩,都有损了你还不理解吗??
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3941 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 126ms · UTC 05:12 · PVG 13:12 · LAX 22:12 · JFK 01:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.