V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
hunkhygge
V2EX  ›  奇思妙想

请问各位大佬有什么办法能够无损压缩一堆很相似的 JPEG 图片吗

  •  
  •   hunkhygge · 2023-09-03 12:33:18 +08:00 · 2374 次点击
    这是一个创建于 445 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有什么好办法利用这种相似进行压缩呢

    20 条回复    2023-09-04 13:52:35 +08:00
    oott123
        1
    oott123  
       2023-09-03 12:46:17 +08:00   ❤️ 1
    H264/5 、VP8/9 、AV1 等带帧间预测的视频编码
    hunkhygge
        2
    hunkhygge  
    OP
       2023-09-03 12:55:44 +08:00
    @oott123 帧间是无损的吗,完全不会改变原始像素值吗
    xtreme1
        3
    xtreme1  
       2023-09-03 13:44:21 +08:00
    转为 BMP 然后使用通常的途径压缩试试
    lithiumii
        4
    lithiumii  
       2023-09-03 13:49:49 +08:00 via Android
    用 zstd 搭配自己的 dictionary ?猜的,不一定有用
    hunkhygge
        5
    hunkhygge  
    OP
       2023-09-03 14:19:38 +08:00
    @xtreme1 感谢 不过这个方案压缩率不太行
    hunkhygge
        6
    hunkhygge  
    OP
       2023-09-03 14:19:49 +08:00
    感谢 我回去试试
    1423
        7
    1423  
       2023-09-03 14:21:52 +08:00
    同样的,如果能对一部片子 BDMV 的不同国家版本进行有效压缩,也能节省很多空间
    之前试过 winrar 之类的无能为力
    NoOneNoBody
        8
    NoOneNoBody  
       2023-09-03 14:53:51 +08:00
    “相似”只是人类认知,因为人脑自带了“物体识别”
    对电脑来说,像素图只是记录了点阵的颜色,每个像素是各自独立的

    图片中某个物件上的某个“固定”位置,因为光影从变化到 255->254 ,位置偏移一个像素,人脑因为首先是识别物体,模糊了色变和位移,这种细微变化,不但定义为“相似”,甚至会定义为“相同”
    电脑没有这个概念,只有平面内连续、不连续颜色概念,加上时间轴( raw 视频),也只是同座标的颜色变化

    如果要通过“相似”概念处理多幅图片,不仅压缩,还包括其他工作,已经是智能范畴了
    shinsekai
        9
    shinsekai  
       2023-09-03 15:03:14 +08:00   ❤️ 4
    一个思路,对相邻两张图的二进制作差分,然后将差分的结果用无损压缩
    AX5N
        10
    AX5N  
       2023-09-03 17:17:29 +08:00
    楼上的办法好,“模拟”帧间预测
    sofukwird
        11
    sofukwird  
       2023-09-03 18:00:13 +08:00 via Android
    邪道:转成视频提取的时候抽帧
    oott123
        12
    oott123  
       2023-09-03 21:45:40 +08:00   ❤️ 1
    @hunkhygge H264/5 VP9 AV1 都有,看了看 VP8 似乎没有
    不过你都 JPEG 了还在乎每个像素点……
    oott123
        13
    oott123  
       2023-09-03 21:46:08 +08:00
    uqf0663
        14
    uqf0663  
       2023-09-03 22:13:58 +08:00
    我觉得按照一定的规律把所有图合并成一张超级大的图应该就可以(这图不是用来打开的,单纯就是存储而已,因为图片格式本身就自带了压缩算法,你可能得测试一下存成哪个格式的压缩算法比较适合),解压就是按照规律再拆分回小图,
    BGLL
        15
    BGLL  
       2023-09-03 22:21:40 +08:00
    通过视频压缩效果好,但是都是有损的 https://github.com/JohannesBuchner/imagestack


    要无损可以用支持多帧的图片格式,如 JPEG XL https://github.com/libjxl/libjxl/blob/main/doc/format_overview.md
    hunkhygge
        16
    hunkhygge  
    OP
       2023-09-03 23:17:11 +08:00
    感谢各位 我好好研究一下
    passive
        17
    passive  
       2023-09-03 23:19:00 +08:00 via Android
    jpeg 的话,每张图各取相同位置的像素,放到相邻是位置拼成一个 DCT 块。
    James369
        18
    James369  
       2023-09-03 23:34:49 +08:00
    什么叫相似,颜色?形状?风格?
    有尝试拼接后,直接压缩?
    shunia
        19
    shunia  
       2023-09-04 10:56:39 +08:00
    webp 不就是干这个的吗?支持 lossless
    https://developers.google.com/speed/webp

    webp 自带很多工具,按需取用:
    img2webp: https://developers.google.com/speed/webp/docs/img2webp
    webpmux: https://developers.google.com/speed/webp/docs/webpmux
    zzzsy
        20
    zzzsy  
       2023-09-04 13:52:35 +08:00
    压缩是什么意思,用 jxl ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:59 · PVG 01:59 · LAX 09:59 · JFK 12:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.