Старые песни о главном. ОПТИМАЛЬНОЕ ФОТО
Nov. 8th, 2010 07:58 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Вчера я задавал вопрос в сообщество про пакетное преобразование графики. Огромное спасибо всем, кто ответил! Так уж получилось, что приглянулась мне программа 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 действия.
Собственно, какой способ оптимальный?
Что скажете?
Спасибо всем, кто читал.
А тем, кто еще и ответит - вообще земной поклон)))
И вот очередной вопрос - об оптимальном алгоритме работы с фоторгафиями. Кстати, многим может оказаться полезным.
Приведу пример с конкретными цифрами (ночной опыт). На примере одной фотографии. Пусть есть фотография - разрешение 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 действия.
Собственно, какой способ оптимальный?
Что скажете?
Спасибо всем, кто читал.
А тем, кто еще и ответит - вообще земной поклон)))
no subject
Date: 2010-11-08 06:20 pm (UTC)Но в процессе обработки не отнимется, вот самое главное.
Т.е. какое бы ни было фото в JPG, я его не сделаю хуже. А если работать только в JPG, то каждйы раз при любом действии я буду ухудшать качество, а если добавить исакжения на самом заключительном этапе (печать, если ее заказывать) ... то вообще грустно получится...
no subject
Date: 2010-11-08 06:30 pm (UTC)no subject
Date: 2010-11-08 06:45 pm (UTC)Ну, не знаю как объяснить по научному...
Вот сейчас мне что-то говорит, что более верными с точки зрения сохранения качества будут варианты 2 и 4, т.к. там JPG перводится в равнозначный по размеру и разрешению файл TIFF, и потом уже в этом ТИФФе делаются преобразования с минимальными потерями качества.
Опять таки, это фото не для огромных плакатов, но все же - хочется узнать сам алгоритм.
no subject
Date: 2010-11-08 07:04 pm (UTC)Там десяток разных алгоритмов ресэмплинга.
no subject
Date: 2010-11-08 07:12 pm (UTC)Вы имеет в виду, что один градиент делается вертикаьлным (т.е. смена цветов снизу вверх) а другой - горизонтальный (слева направо) - и они где-то пересекаются?
По крайней мере так я понял эти слова:
"возьмите цветной градиент, сделайте его пересечение (вертикальной с горизонтальным) с ч\б градиентом... "
no subject
Date: 2010-11-08 07:27 pm (UTC)это наиболее наглядное (по моему мнению) тестовое изображение
no subject
Date: 2010-11-08 07:29 pm (UTC)Удачи!