[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: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
верно поняли
это наиболее наглядное (по моему мнению) тестовое изображение