Старые песни о главном. ОПТИМАЛЬНОЕ ФОТО
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:13 pm (UTC)no subject
Date: 2010-11-08 06:23 pm (UTC)no subject
Date: 2010-11-08 07:07 pm (UTC)качество теряется после сохранения
no subject
Date: 2010-11-08 06:15 pm (UTC)no subject
Date: 2010-11-08 06:18 pm (UTC)no subject
Date: 2010-11-08 06:22 pm (UTC)типа пантона каого-то?
no subject
Date: 2010-11-08 06:28 pm (UTC)с таким
(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 или типа того.
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)Удачи!
no subject
Date: 2010-11-08 07:31 pm (UTC)Разница в размере файла - проверьте настройки сохранения в jpg. В save as и просто в конвертации они могут отличаться. К примеру параметрами color subsampling или галочкой use JPEG quality from original (имеет значение при конвертации напрямую из jpg)