代码之家  ›  专栏  ›  技术社区  ›  chris166

JPEG优化工具?[闭门]

  •  111
  • chris166  · 技术社区  · 17 年前

    您知道有什么工具(最好是命令行)可以自动无损地优化JPEG,我可以将其集成到构建环境中吗?对于我目前正在使用的PNG PNGOUT ,它通常可以节省约40%的带宽/图像大小。

    至少,我希望有一个工具可以从JPG中剥离元数据-我注意到一个奇怪的情况,我试图从照片中制作缩略图,但无法获得小于34 kB的缩略图。在进一步调查之后,我发现EXIF数据仍然是图像的一部分,删除元数据后缩略图为3KB。

    除此之外,是否有可能进一步无损优化JPG?PNG优化器尝试不同的压缩策略,随机初始化哈夫曼编码等。

    我知道大部分节省来自JPEG质量参数,这是一个相当主观的衡量标准。我只是在寻找一个可以作为构建步骤运行的工具,它可以无损地压缩图像中的几个字节。

    14 回复  |  直到 17 年前
        1
  •  72
  •   Kornel    9 年前

    GUI for all image optimization tools I could find 包括…在内 MozJPEG jpegoptim 优化哈夫曼表、渐进扫描和(可选)删除不可见元数据。

    ImageOptim smushing it

    如果你没有Mac电脑,我也有基本的 web interface

        2
  •  68
  •   OutOfMemory    13 年前

    我使用libjpeg进行无损操作。它包含一个命令行工具 jpegtran 那可以做你想做的一切。使用命令行选项 -copy none 所有元数据都被剥离,并且 -optimize 对哈夫曼压缩进行无损优化。您还可以使用将图像转换为渐进模式 -progressive ,但这可能会导致兼容性问题(有人知道更多吗?)

        3
  •  12
  •   Ben    13 年前

    [只适用于视窗]

    RIOT(激进图像优化工具)

    http://luci.criosweb.ro/riot/

    通过子采样,您可以轻松获得低至800KB的10MB图像。 它支持PNG、GIF和JPEG。 允许您旋转、重新调整大小、压缩到指定的KB等。还有GIMP和IrfanView等插件。

    如果你想把它加入到你自己的程序或java脚本/ C++程序中,也有一个DLL。

    另一种选择是 http://pnggauntlet.com/ PNGGAUNTLET需要很长时间,但它做得相当好。

    [只适用于视窗]

        4
  •  12
  •   Eduardo Molteni    13 年前

    一种叫做 JPEGmini 产生难以置信的结果。 遗憾的是它只是在线的。 编辑 :它现在可用于Windows和Mac

        5
  •  10
  •   Graham Butcher    14 年前

    我的示例图像的原始大小为67737字节。

    使用kraken.io,它下降到64718 使用yahoo smush it,它下降到了61746

    smush.py选项看起来很有希望,但安装太复杂,我无法快速完成

    JPEG扫描看起来也很有希望,但似乎是unix,我使用的是windows

    jpegmini不是无损的,但我看不出有什么区别(低至22172)

    plinth的Altrasoft jpegstripper应用程序在我的windows 7上不起作用

    jpegoptim不是windows-对我没有好处

    Riot(将质量保持在100%)将其降至63416,将色度子采样设置为高,将其降至61912-我不知道这是否是无损的,我认为它看起来比原来的轻。

    所以如果它必须是无损的,我的判决就是雅虎狗屎

        6
  •  9
  •   borjab    17 年前

    我会试试Imagemagick。它有大量的命令行选项,它是免费的,并且有一个很好的许可证。 http://www.imagemagick.org

    http://www.imagemagick.org/script/command-line-options.php#strip

        7
  •  7
  •   Community Mohan Dere    6 年前

    ImageOptim真的很圆滑。作者发布的命令行选项将填充GUI并显示进度。我使用jpegtran进行优化并转换为渐进式,然后使用ImageOptim进行进一步的渐进式优化和其他文件类型。

    重新使用本论坛中的脚本代码(所有文件都已替换到位):

    jpegtran

    for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.jpeg" -or -name "*.JPG" \)); do
        echo found $file for optimizing...
        jpegtran -copy comments -optimize -progressive -outfile $file $file
    done
    

    ImageOptim

    for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.png" -or -name "*.gif" \)); do
    do
        echo found $file for optimizing...
        open -a ImageOptim.app $file
    done
    
        8
  •  4
  •   timmy    15 年前

    如果有人注意到了,我已经写了一个雅虎Smush.it的离线版本。它将无损优化PNG、JPG和GIF(动画和静态):

    http://github.com/thebeansgroup/smush.py

        9
  •  4
  •   bluegray    15 年前

    你可以用 jpegoptim 默认情况下,它将无损优化jpeg文件。这个 --strip-all --max 当您使用非常高的质量设置保存图像时,此开关非常有用,例如web内容不需要此设置。

    您得到的优化与 jpegtran (请参阅OutOfMemory的答案)但jpegoptim无法保存为渐进式JPEG。

        10
  •  4
  •   AJ Slater    12 年前

    我编写了一个名为“picopt”(类似于ImageOptim)的命令行工具,它使用外部程序优化JPEG、PNG、GIF、动画GIF,甚至漫画书归档内容(CBR/CBZ)。

    这适用于在OS X或Linux系统上使用自制软件,在这些系统中,您安装了jpegrescan、jpegtran、optipng、gifsicle等工具。

    https://github.com/ajslater/picopt

        11
  •  3
  •   David Johnstone    17 年前

    我也会推荐 ImageMagick . 它有一个命令行选项来删除EXIF元数据

    mogrify -strip image.jpg
    

    还有很多其他工具可以做同样的事情。

    complicated reasons 优化 这意味着它们会降低与某些您可能不关心的内容的兼容性,从而节省一些KB。另外,确保没有嵌入任何颜色配置文件,这样可以再节省几KB。

        12
  •  2
  •   Pono    14 年前

    我建议使用 http://kraken.io 这是一款极快的webapp,它能比smush更好地优化你的PNG和JPEG文件。

        13
  •  2
  •   agonist_    13 年前
        14
  •  1
  •   Camilo Martin    10 年前

    为了达到近乎透明的效果,我可以推荐以下做法:

    convert 'yourfile.png' ppm:- | jpeg-recompress -t 97 -q veryhigh -a -m smallfry -s -r -S disable - yourfile.jpg
    

    它使用 imagemagick convert jpeg-recompress 从…起 jpeg-archive .

    两者都是开源的,在Windows、Mac和Linux上工作。您可能需要根据不同的质量期望调整上述选项。