[identity profile] alex-553.livejournal.com posting in [community profile] useful_faq
Вчера я задавал вопрос в сообщество про пакетное преобразование графики. Огромное спасибо всем, кто ответил! Так уж получилось, что приглянулась мне программа FastStone Image Viewer.

И вот очередной вопрос - об оптимальном алгоритме работы с фоторгафиями. Кстати, многим может оказаться полезным.

Приведу пример с конкретными цифрами (ночной опыт). На примере одной фотографии. Пусть есть фотография - разрешение 300 dpi, размер - 3648х2736 (короче, соотношение 4:3). Нужно получить фотку 72 dpi, размер... допустим 1200х900. И вот тут начинается самое интересное. Я насчитал как минимум 4 способа получения требуемых изображений (исходя из того, что вопрос качества очень важен, собственно в противном случае я бы не задавал вопрос). Почему 4 способа? При преобразовании фоток, сохраненных в формате JPG, на каждом этапе теряется качество из-за наслоения ошибок. Поэтому рекомендуют переводить фотки в формат TIFF и потом оттуда уже "плясать". Готовый файл переводится в формат JPG и сохраняется в нем.

Что ж, тут есть варианты:

1. Мне лень возиться с форматом TIFF и я просто перевожу картинку из JPG в JPG. Меняю разрешение с 300 на 72, размеры - соответственно на 1200х900.

2. Перевожу фото JPG 300 dpi размером 3648х2736 в аналогичный по размерам файл TIFF (то есть те же 300 dpi и 3648х2736). А этот файл уже сразу перевожу в JPG 72 dpi 1200х900
(схематически:
а) JPG 300 / 3648х2736 => TIFF 300 / 3648х2736
б) TIFF 300 / 3648х2736 => JPG 72 / 1200х900

3. Или так:
а) JPG 300 / 3648х2736 => TIFF 72 / 1200х900
б) TIFF 72 / 1200х900 => JPG 72 / 1200х900

4. Или же:
а) JPG 300 / 3648х2736 => TIFF 300 / 3648х2736
б) TIFF 300 / 3648х2736 => TIFF 72 / 1200х900
в) TIFF 72 / 1200х900 => JPG 72 / 1200х900

Что интересно: в первом случае окончательный файл несколько больше, чем в пп.2-4. примерно на 20-30%. Файлы для 2-4 случаев совершенно равны по размерам. Но опять таки - говорит ли это о том, что по качеству они идентичны. Все файлы (1-4) на мой непрофессиональный взгляд одинаковы (там в проге есть функция - можно сравнивать до 4 файлов, в т.ч. увеличивая их).
Если принять, что качество одинаковое, получается, что проще использовать способ №1, т.к. тут только одно действие без лишних переводов. Но файл будет немного больше, а если их сотни... ну вы понимаете... Тогда если не лень - №2 или №3 - "всего" два действия, а не 3 в отличие от №4 а качество то же и размер меньше, чем в №1.
НО: это если качество одинаковое, а я повторюсь, что мой глаз - не профи. И может статься, что для лучшего качества лучше не полениться и сделать 3 действия.
Собственно, какой способ оптимальный?
Что скажете?



Спасибо всем, кто читал.
А тем, кто еще и ответит - вообще земной поклон)))

Date: 2010-11-08 06:13 pm (UTC)
From: [identity profile] karpion.livejournal.com
JPEG может хранить картинки с переменным качеством от 0 до 100%; чем ниже качество, тем больше искажения (Вы должны знать про компрессию с потерей/искажением данных; если нет - Википедию в помощь). Может, в этом дело?

Date: 2010-11-08 07:07 pm (UTC)
From: [identity profile] 3jia5l-ca6aka.livejournal.com
качество при ресайзе не теряется, вероятно разные алгоритмы сжатия по-разному работают с жпег/тифф,
качество теряется после сохранения

Date: 2010-11-08 06:15 pm (UTC)
From: [identity profile] 3jia5l-ca6aka.livejournal.com
В чем сакральный смысл перевода jpeg в tiff? информации не прибавится.

Date: 2010-11-08 06:18 pm (UTC)
From: [identity profile] 3jia5l-ca6aka.livejournal.com
возьмите цветной градиент, сделайте его пересечение (вертикальной с горизонтальным) с ч\б градиентом, прогоните через 4 своих "алгоритма", затем сравните результат

Date: 2010-11-08 06:28 pm (UTC)
From: [identity profile] 3jia5l-ca6aka.livejournal.com
типа такого (http://www.google.ru/imglanding?q=%D0%B3%D1%80%D0%B0%D0%B4%D0%B8%D0%B5%D0%BD%D1%82&imgurl=http://img140.imageshack.us/img140/8350/gradns5.jpg&imgrefurl=http://forum.imagemaster.ru/topic487.html&usg=__ijnf8kNlz9ZAV9PCGmq195KPveo=&h=661&w=665&sz=40&hl=ru&zoom=1&um=1&itbs=1&tbnid=jms_sHOTUBqTUM:&tbnh=137&tbnw=138&prev=/images%3Fq%3D%25D0%25B3%25D1%2580%25D0%25B0%25D0%25B4%25D0%25B8%25D0%25B5%25D0%25BD%25D1%2582%26um%3D1%26hl%3Dru%26safe%3Doff%26sa%3DN%26tbs%3Disch:1&um=1&safe=off&sa=N&tbs=isch:1&start=0#tbnid=jms_sHOTUBqTUM&start=0)
с таким
(http://www.google.ru/imglanding?q=%D0%B3%D1%80%D0%B0%D0%B4%D0%B8%D0%B5%D0%BD%D1%82&imgurl=http://docs.gimp.org/2.2/images/dialogs/dialogs-gradient-editor.png&imgrefurl=http://docs.gimp.org/2.2/ru/gimp-gradient-dialog.html&usg=__mcNEZrukslS9r4aWc-7HAjj79gI=&h=300&w=325&sz=12&hl=ru&zoom=1&um=1&itbs=1&tbnid=eT7IgXhAz2MHnM:&tbnh=109&tbnw=118&prev=/images%3Fq%3D%25D0%25B3%25D1%2580%25D0%25B0%25D0%25B4%25D0%25B8%25D0%25B5%25D0%25BD%25D1%2582%26um%3D1%26hl%3Dru%26safe%3Doff%26sa%3DN%26ndsp%3D21%26tbs%3Disch:1&um=1&safe=off&sa=N&ndsp=21&tbs=isch:1&start=3#tbnid=eT7IgXhAz2MHnM&start=7) в overlay или типа того.

Date: 2010-11-08 06:30 pm (UTC)
From: [identity profile] 3jia5l-ca6aka.livejournal.com
ну если фастстоун применяет оптимизацию сжатия на каждом этапе обработки, то все варианты, кроме 1, будут хуже

Date: 2010-11-08 07:04 pm (UTC)
From: [identity profile] 3jia5l-ca6aka.livejournal.com
Так я вам метод эмпирического выяснения "какой алгоритм наиболее щадяще относится к изображению" уже предложил.
Там десяток разных алгоритмов ресэмплинга.

Date: 2010-11-08 07:27 pm (UTC)
From: [identity profile] 3jia5l-ca6aka.livejournal.com
верно поняли
это наиболее наглядное (по моему мнению) тестовое изображение

Date: 2010-11-08 07:31 pm (UTC)
From: [identity profile] max-i-max.livejournal.com
Разницы в методах в результате быть не должно (все равно ресайз идет отдельно от сжатия в jpg).

Разница в размере файла - проверьте настройки сохранения в jpg. В save as и просто в конвертации они могут отличаться. К примеру параметрами color subsampling или галочкой use JPEG quality from original (имеет значение при конвертации напрямую из jpg)