Image Catalyst 2.5

    Adobe Photoshop CC 2014 (Save For Web) — 59,78 КБ kraken.io — 54,90 КБ Image Catalyst (Xtreme) — 51,39 КБ
    Image Catalyst — программа для комплексной оптимизации/сжатии изображений форматов PNG, JPEG и GIF без потери качества в рамках того же формата.

    Image Catalyst имеет два существенных преимущества по сравнению с другими приложениями по оптимизации изображений:
    1. Комплексный подход оптимизации изображений. Для этого были разработаны специальные алгоритмы оптимизации, которые позволят получить высокую степень сжатия, при этом сохраняя достаточно высокую скорость оптимизации.
    2. Параллельная оптимизация изображений. По умолчанию, Image Catalyst использует несколько потоков для оптимизации, что позволяет увеличить скорость оптимизации изображений в 2 и более раз.

    Таблица сравнения Image Catalyst и ScriptPNG (для теста использовались 2000 файлов формата PNG).
    ImageCatalyst 2.5 ScriptPNG 02/04/2015
    Advanced Xtreme Fast Intense High
    77 918 КБ 76 619 КБ 78 768 КБ 77 884 КБ 77 685 КБ
    18:34 106:39 20:17 49:13 61:05

    Параметры оптимизации PNG


    Advanced Xtreme
    Размер — 55,57 КБ
    Время оптимизации — 1,5 с
    Размер — 54,65 КБ
    Время оптимизации — 7,5 с
    Использует базовый набор инструментов (TruePNG + AdvDef) для оптимизации изображений формата PNG. Степень сжатия в среднем на 10% выше по сравнению с Adobe Photoshop (Save for Web) Использует продвинутый набор инструментов (TruePNG + PNGWolfZopfli) для оптимизации изображений формата PNG. Степень сжатия в среднем на 2% выше по сравнению с режимом оптимизации Advanced, но скорость сжатия ниже 5 раз

    Параметры оптимизации JPEG


    Baseline Progressive
    image image
    Представляет последовательное (линейное) отображение изображения по мере поступления данных при загрузке. Представляет поочередно все более детализированные версии целого изображения по мере поступления данных при загрузке.
    Default — использует параметры оптимизации по умолчанию.

    Параметры оптимизации GIF



    Поддержка командной строки

    iCatalyst.bat [options] [add folders \ add files]
    
    Options:
    /png:# Optimization settings PNG:
    		1 - Compression level - Xtreme;
    		2 - Compression level - Advanced;
    		0 - Skip PNG optimization.
    
    /jpg:# Optimization settings JPEG:
    		1 - Encoding Process - Baseline;
    		2 - Encoding Process - Progressive;
    		3 - Optimization settings default;
    		0 - Skip JPEG optimization.
    
    /gif:# Optimization settings GIF:
    		1 - Optimization settings default:
    		0 - Skip GIF optimization.
    
    "/outdir:#" Settings save optimized images:
    			true  - replace the original image on optimized;
    			false - open dialog box for saving images;
    			"full path to folder - specify the folder to save images.
    			For example: "/outdir:C:\temp", if the destination folder does not exist, it will be created automatically.
    
    Add folders \ Add files:
    - Specify the full path to the images and / or folders with images. For example: "C:\Images" "C:\Photos" "C:\logo.png"
    - In the full image paths should not be characters. For example: "&", "%", "(", ")" etc.
    - The application automatically optimizes images in nested subfolders.


    Поддержка Drag and Drop

    image

    • Перенесите изображения и\или папки с изображениями на значок «iCatalyst.bat».
    • В полных путях изображений не должны быть символы. Например: "&", "%", "(", ")", "!" и т.д.
    • Приложение автоматически оптимизирует изображения во вложенных подпапках.

    Загрузить Image Catalyst 2.5 (только для Windows, cmd) — https://github.com/lorents17/iCatalyst

    АвторыLorents & Res2001

    Благодарности:
    • благодарим авторов приложений, которые используются в проекте;
    • благодарим участников форумов encode.ru, forum.ru-board.com, forum.script-coding.com, forum.vingrad.ru и cyberforum.ru за вклад в развитие проекта;
    • отделанная благодарность X128 за огромный вклад в развитие проекта.

    Only registered users can participate in poll. Log in, please.

    Планы на будущее:

    • 63.0%Оптимизация PNG и JPEG с потерями качества136
    • 50.9%Оптимизация SVG110
    • 6.9%Иное, напишу в комментариях15

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 45

      –4
      TinyJPG.org — 15Kb
        0
        У Вас сжато с потерями.
          –1
          Я это понимаю.
            –1
            Невооруженным взглядом вы видите эти потери?
              +2
              Да! Особенно ярко я их видил, когда пытался ужать сборку флагов стран.
                +1
                Я вижу. Тень особенно ужасна, но видно на всех градиентах
              +4
              Image Catalyst оптимизирует без потерь.
              +1
              Понимаю что работает по другому. Но какой смысл сжимать png на пару килобайт, когда какой-нибудь tine PNG может сделать это в разы лучше.

              image 16КБ

              Упс, кажись не успел.
                0
                1. tinePNG жмет с потерями. Вы считаете 256 цветов хватит любому изображению?
                2. можетt оптимизировать tinePNG + Image Catalyst и получите результат еще выше.
                  +1
                  1) Не любому но большинству точно.
                  2) К сожалению у меня убунту.
                0
                Не очень понял, как вы насчитали килобайты для картинок из заголовка. Я скачал их, и получил вот что:
                /tmp/test_data$ ls -l -S
                -rw-rw-r-- 1 sourcerer sourcerer 60030 мая   28 21:42 test_ps.png
                -rw-rw-r-- 1 sourcerer sourcerer 59993 мая   28 21:42 test_kraken.png
                -rw-rw-r-- 1 sourcerer sourcerer 57410 мая   28 21:42 test_catalyst.png
                


                /tmp/test_data$ pngcrush --brute test_ps.png test_pngcrush.png 
                $ ls -l test_pngcrush.png 
                -rw-rw-r-- 1 sourcerer sourcerer 58564 мая   28 21:45 test_pngcrush.png
                
                /tmp/test_data$ pngcrush -brute test_kraken.png test_pngcrush.png 
                $ ls -l test_pngcrush.png 
                -rw-rw-r-- 1 sourcerer sourcerer 58564 мая   28 21:45 test_pngcrush.png
                
                /tmp/test_data$ pngcrush -brute test_catalyst.png test_pngcrush.png
                /tmp/test_data$ ls -l test_pngcrush.png 
                -rw-rw-r-- 1 sourcerer sourcerer 55795 мая   28 21:46 test_pngcrush.png
                


                Отсюда следует, что у вас
                а) возможно, какие-то «не те» картинки в шапке
                б) возможно, картинка после обработки в Catalyst теряет часть информации
                в) возможно, Catalyst сжимает не оптимально — pngcrush смог сжать ещё лучше
                  +1
                  В шапке действительно не те картинки, не знаю почему habrastorage.org изменил картинки.
                  pngcrush не мог сжать лучше, pngcrush использует zlib, а я zopfli.
                    +1
                    Habrastorage действительно перезаливает картинки из статьи (если они на внешнем сайте лежат, например), сжимает или нет при этом — не знаю. Так что как вариант — сделайте кликабельные ссылки на изображения на стороннем сайте (или в архив залейте куда-нибудь).
                    • UFO just landed and posted this here
                        0
                        Не совсем так. На оптимизацию png влияют несколько моменмтов. В частности фильтр оптимизации и алгоритм сжатия deflate.

                        Алгоритм deflate имеет несколько реализация:
                        Zlib
                        7-zip
                        Kzip
                        zopfli
                        И каждая имеет свои достоинства и недостатки.
                    0
                    Была такая программа:
                    JPG Cleaner for DOS, Win32 Console and Win32
                    Copyright © 2000-2002 Rainbow Software

                    В большинстве случаев очень сильно уменьшала размеры jpg файлов. Удаляла EXIF и другую дополнительную информацию. При разрешении файлов в то время в пределах 640x480, 800x600 дополнительная информация могла занимать десятки килобайт, что могло быть половиной от размера файла с изображением низкого разрешения.
                      0
                      Больше всего занимал превью, который в JPEG помещал, например, Photoshop. Я тоже когда-то писал такую штуку на PHP в каком-то бородатом году.
                        0
                        Да, после фотошоп вычищалось больше всего.
                      0
                      На фоне того, что сжатие с потерями не доступно, пресловутые преимущества вообще не вызывают интереса.
                      Сам использую truePNG, нравится что можно задать конкретное количество цветов квантизации и уровень дизеринга, хотя от какого-нибудь интеллекта в программе не отказался бы (чтобы подбирала оптимальное количество дизеринга и цветов — размер небольшой и без заметных искажений).
                        –2
                        Для PNG пользуюсь PNGOUT
                          0
                          до появления zopfli от google, пользовался PNGOUT для максимального сжатия. Image Catalyst на много сильнее жмет чем PNGOUT, при этом с меньшими временными затратами.
                          0

                          16.36 KB — compressor.io
                            0
                            14.96 KB — kraken.io

                            image
                              0
                              Что удивительно у kraken размер меньше, а потерь в градиентах меньше, но тоже заметны
                                0
                                Если уж вы начали сравнивать с 256-цветными картинками, взгляните и на это:
                                Color Quantizer авторства x128 с его собственным алгоритмом квантования, 15.41 Кб.
                                Здесь огрехи распределены в основном по границам областей, а не по плавным переходам.
                                  0
                                  Картинка не приложилась, ссылка тоже; наверное, грехи кармы их покарали. А вот-с:
                                  dl.dropboxusercontent.com/u/13729396/pic/habr-post-215213-1.png

                                  И вот другой достойный вариант, патентованный алгоритм Optpix из далекого 2001 года + дожато CQ, 13.7 Кб:
                                  dl.dropboxusercontent.com/u/13729396/pic/habr-post-215213-2.png

                                  Это два лучших алгоритма кватнизаторов — x128 и японский Optpix, из известных мне на сегодняшний день.

                                  «Вы все еще жмёте „Кракенами“? Тогда мы идем к вам!»
                                    0
                                    Вы не могли бы чуть поподробнее рассказать про Optpix, и где ее можно скачать?
                                      0
                                      Конкретно вот это сделано в древнем «OPTPiX iMageStudio». Назначение программы — геймдев, работа со спрайтами.

                                      Можно скачать триал продуктов у них на сайте, ближайший современный аналог называется «OPTPiX Imésta». И, кстати, цены на софт у них космические.

                                      Технически, ценен для меня в их программах только квантизатор — собственно «оптимизировать» они не умеют. Мне пришлось взять оригинал картинки, сжать его чем-то оптимизирующим в png (собственно, ради предварительной обработки, чтобы удалились невидимые под альфа-каналом области), потом с помощью imagestudio уменьшить количество цветов, а затем дожать современным оптимизатором png.
                            0
                            Пользуясь случаем: а посоветуйте аналогичное, но для pdf'ок?
                              0
                              Abbyy MRC SDK. Бесплатного, увы, не видел.
                                +2
                                Есть универсальный оптимизатор FileOptimizer, он многое умеет оптимизировать, в том числе и pdf.
                                +1
                                Отличный проект. Держите github.com/lorents17/iCatalyst/pull/2 и github.com/lorents17/iCatalyst/pull/1.
                                  0
                                  Спасибо! Ни как не могу добавить в проект. Подскажите как сделать?
                                    0
                                    Там есть кнопочка merge.
                                      0
                                      Спасибо большое!
                                  +1
                                  Очень не хватает совместимости с другими ОС. Хотя бы .bat файл подровняйте, чтобы была совместимость c wine, а лучше ведите одновременно .bat и .py, ведь сами .exe утилиты отлично работают и под wineconsole.

                                  P.S. В копилку меряния любимыми методами сжатия. Квантизация и понижение до 256 цветов мне не всегда подходят, потому использую Lossy алгоритм для PNG. Вот один из примеров с 32-битным цветом и PSNR 54.1568 против 41.7669 у квантизаторов, размер 48.56 KB.

                                    0
                                    Habrastorage не согласен :)
                                    Одним словом тут: runserver.net/temp/tmp.opt.png
                                      0
                                      Есть простой вариант компромиссного «lossy» — попытаться уменьшить количество цвето не до 256, а скажем до 512.
                                        0
                                        В первую очередь, всякие там pngquant так не позволяют, потому как заточены под 256 цветов. Я встречал (да, каюсь, и сам писал) утилиту, которая позволяет уменьшать палитру до произвольного значения, например, 4096 цветов, но там было далеко не все хорошо с Dithering-ом, точнее квантизацией. Популярные алгоритмы dithering заточены под уменьшение битности цвета, например RGB 888 -> 565, а в случае с палитрами у нас как раз точность цвета не падает — хранится полноценная RGBA 8888 палитра. Но тут наступает еще и другая проблема: допустим мы используем палитру из 512 цветов, такой тип картинки контейнером PNG не поддерживается, потому придется хранить таки изображение как и раньше в RGBA 8888, т.е. выделять 32 бита на пиксель, а не 8, как в 256-цветном режиме с палитрой. Но уже из-за dithering у нас увеличится сложность картинки и будет размер даже больше, чем изначально. Если же не использовать dithering в принципе, то будет уж очень-очень lossy качество.
                                        Отдельно можно рассмотреть собственный формат файла, где будет выделяться, допустим, 9 бит на пиксель (для палитры 512). Если в случае 8-бит на пиксель у нас последовательность из 7 пикселей одного цвета с индексом 1 будет выглядеть как набор из 7 байтов с кодом 1 (01 01 01 01 01 01 01), то для 9-битного режима это будет уже 8 байт (01 02 04 08 20 40 80 00). Архивировать вторую последовательность уже заметно сложнее. Логично предположить, что на пиксель удобнее всего выделять число, кратное 8, т.е. 8 или 16 бит. В случае с 16-битными индексами мы можем хранить палитру до 65536 цветов, изображение будет относительно хорошо архивироваться, только занимать будет чуть больше, чем хорошо пожатый изначальный PNG :) Это не говоря уже о том, что это будет свой формат, который надо на лету декодировать.
                                          0
                                          Полностью согласен, это далеко не панацея, но довольно часто встречающийся частный случай.
                                          Скверно работает на чистом синтетиском оригинале, но неплохо справляется с зашумленными картинками.
                                          И, да, dithering категорически противопоказан.
                                        0
                                        По поводу wine постараться сделать в следующей версии. К сожалению я не владею Python.
                                        0
                                        Хорошо бы добавить опцию «не удалять exif» для jpeg.
                                          0
                                          Можно отключить удаление метаданных

                                          в файле config.ini
                                          metadata=true
                                          заменить на
                                          metadata=false
                                          0
                                          не смотрите на сердечки

                                          Only users with full accounts can post comments. Log in, please.