cjpeg-dssim

У меня давно, во времена работы над книгой, возникла идея — попробовать подбирать параметр качества для джейпега автоматически так, чтобы глаз не улавливал разницы между оригиналом и результатом. Правда я не был уверен насчёт метрики, мне виделось это как вычитание одной картинки из другой с какой-то интегральной оценкой результата.

На днях я про эту идею вспомнил и, как это обычно и бывает, оказалось, что существует и метрика, и утилита для её снятия, и утилита для подбора параметра качества.

На «Маке» всё необходимое для работы утилиты для подбора элементарно ставится из «брю», вот результат обработки картинки из предыдущего моего поста:

$ ./cjpeg-dssim jpegoptim test/2018.02.17.1@2x.jpg
$ ll -h test
total 584
drwxr-xr-x+ 4 bolk  staff   128B 18 фев 12:09 .
drwxr-xr-x+ 7 bolk  staff   224B 18 фев 12:09 ..
-rw-------@ 1 bolk  staff   187K 18 фев 12:00 2018.02.17.1@2x.jpg
-rw-r--r--+ 1 bolk  staff   102K 18 фев 12:09 2018.02.17.1@2x_cjpeg_dssim.jpg

Экономия 85 килобайт, это очень существенно, при этом разницу на картинке я и правда не вижу. Буду теперь обрабатывать иллюстрации этой утилитой.

Обработка дополнительно утилитой jpegtran из пакета mozjpeg даёт ещё два килобайта экономии.

Комментарии 7

Евгений Степанищев автор № 2
Там же есть теперь подсистема Линукса. Либо по старинке — cygwin. Ну или переписать скрипт с баша на пауэршелл.
GreLI № 3
У подсистемы линукса долбанутая файловая система. Туда ничего нельзя писать с винды, иначе всё запорется.
Евгений Степанищев автор № 4
Грустно. Ну тогда cygwin есть или вроде какие-то порты баша на Виндоуз были.
PastorGL № 5
Туда ничего нельзя писать с винды, иначе всё запорется.

А что мешает использовать файлы, записанные в виндовые разделы изнутри линукса? Что мешает хотя бы разок заглянуть в в /mnt, вместо того чтобы писать какую-то ерунду про «долбанутую файловую систему»?

RTFM, блин.

EugeneV № 6
Спасибо!
Ты будешь использовать только для веба?
Не возникало идеи домашний фотоархив пройти утилитой?
Если ты снимаешь высококачественной фототехникой, то наверное вряд ли захочешь.

У меня давно крутится идея, что «репортажные» снимки, которые я делаю просто смартфоном, нужно пережимать, т.к. дефолтное качество у Соньки (кажется 93%) все равно излишне.
Получается храню гигабайты каких-то шумов — разрешенка огромная (но тут я хоть могу в настройках немного уменьшить) * качество завышенное.

Я еще детально не изучил твои ссылки.
А эта оптимизация как-то заточено под конкретное устройство вывода (под его dpi)?
К примеру, если захочется распечатать на бумаге, то на ней уже можно увидеть разницу?
Евгений Степанищев автор № 7
Не возникало идеи домашний фотоархив пройти утилитой?

У меня домашний архив на «Яндекс.Фотках», они ж безлимитные, а дома дисков не напасёшься всё хранить :)

А эта оптимизация как-то заточено под конкретное устройство вывода (под его dpi)?

Я особо не интересовался, но создаётся впечатление, что нет.