[Очерки] [Рецензии] [Обо мне] [MTB] [Фото] [Новости] [Ссылки]

О качестве бесплатных вьюверов.

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

Однако, пристальное знакомство с несколькими наиболее популярными решениями, поставило вопрос "ребром": осталось стойкое ощущение, что все они далеко не одинаково хорошо справляются со своими основными задачами - а именно выводом изображений на экран. Эта мысль и побудила меня к дальнейшему исследованию. В качестве подопытных кроликов были взяты FastStone 3.2, XnView 1.90.3, IrFanView 4.00 и встроенная в Windows XP «Программа просмотра факсов и изображений». Я не буду останавливаться на описании их (дополнительных) возможностей – на эту тему написано предостаточно.

Теория.

Казалось бы, цифровое изображение представлено в виде байтов согласно некому стандарту и «разночтениям» взяться неоткуда. Всё это так, но в реальной жизни мы обычно рассматриваем фотографии обладающие заметно более высоким разрешением, чем разрешение дисплея. Поэтому перед компьютером стоит задача масштабирования – как на экране уместить картинку, превышающую его размеры в несколько раз?

Здесь и далее под размерами и разрешением я подразумеваю одно и то же, а величины привожу в пикселах, иногда называя их точками.

В принципе, можно просто отбросить ненужные данные: скажем, пропустить каждый второй пиксель по горизонтали и вертикали. Однако, так мы во-первых, безвозвратно теряем какие-то детали; а во-вторых, далеко не всегда сможем в итоге вписать рисунок в пределы дисплея.

Для решения подобной проблемы придумано множество алгоритмов, скрывающихся за термином «интерполяция» (английский аналог – resample). Нельзя сказать, что одни из них однозначно лучше, а другие хуже. Какие-то работают быстрее, какие-то эффективнее для увеличения в несколько раз, какие-то будут разумным выбором при незначительном изменении размеров. Недолгий поиск по интернету вывел меня на небезынтересную страничку, где можно сравнить работу двадцати одного алгоритма интерполяции (на английском), для наглядности рассматривается увеличение в 4 раза.

Типовая задача современного пользователя несколько другая. Я покопался в своём фотоархиве и «выудил» снимок со множеством перекрещивающихся проводов – пусть это традиционное «бельмо на глазу» современной фотографии послужит наконец благому делу, изображая «очень важные нюансы сюжета съёмки».

Масштабирование на практике.

Оригинальный размер снимка – 3072×2048 пикселей. При просмотре уменьшим его в 25 раз (20% в терминологии представленных программ). Уже на этом этапе появились вариации: при одной и то же ширине в 614 точек, высота получилась у каждой утилиты своя (отношение округлено до десятиты­сячной доли):

методширинавысотаотношение
математически614,4409,61,5
XnView6144091,5012
WinXP6144081,5049
IrFanView6144101,4976
FastStone6144101,4976

Как видно математическое округление итогового разрешения не самым лучшим образом сказывается на соотношении сторон. Хотя, я и полагаю, что столь мизерными отклонениями можно пренебречь, подобный поворот несколько озадачил – хотелось «наложить» результаты деятельности вьюверов друг на друга. Пришлось подрезать полученные «скриншоты» до минимальной высоты в 408 точек – совсем «чистого» сравнения у нас не выйдет.

Клик на названии программы переключат результирующую картинку. IrFanView упомянут дважды, т.к. согласно настройкам программы по умолчанию в полноэкранном режиме используется «resample», видимо, в остальных случаях банально пропускаются пиксели. Визуально, заметного улучшения я не заметил. FastStone даёт подобный результат: все наклонные прямые в IrFanView и FastStone отображаются прерывистой «лесенкой».

Цветопередача.

Правильная цветопередача так же является немаловажным фактором восприятия изображения. Без специального оборудования оценить её качество представляется попросту нереальным, по это же причине говорить об иллюстративном материале не приходится. Поэтому придётся положиться на добросовестность разработчиков в плане реализации алгоритмов, а «на глазок» буду только констатировать наличие или отсутствие данных возможностей.

программаicc в jpeggamma в PNGicc в tifficc в png
XnViewданетданет
WinXPнетданетнет
IrFanViewнетнетнетнет
FastStoneданетданет

Тут же хочу предостеречь: при выводе изображений ни один из упомянутых вьюверов не учитывает цветового профиля монитора! Поэтому во «взрослых» графических программах цвета всё равно будут отличаться от формируемых приведёнными утилитами.

Выводы.

Явный аутсайдер нашего тестирования – IrFanView: понятие цвекоррекции ему совершенно незнакомо, а для интерполяции используется самый примитивный алгоритм. Похоже, именно он принёс в своё время утилите IrFanView титул «самого быстрого вьювера».

Следующим номером идёт FastStone, имея поддержку встроенных цветовых профилей icc, качество рендеринга сравнимо с IrFanView.

На первое место претендуют XnView и «Программа просмотра факсов и изображений» - качество ресамплинга у них сопоставимо, а в плане цветопередачи оба «одинаково небрежны». Можно сказать, что XnView незначительно обходит встроенную утилиту Windows XP лишь за счёт дополнительной функциональности.

Ни одну из заявленных программ нельзя рекомендовать при серьёзной работе с графикой. Но, как говорится: «Дареному коню зубы не смотрят!». Среди коммерческих продуктов можно подобрать аналоги лишённые данных недостатков, но это совсем другая история.

© Геннадиий Забуслаев 2003—2007 г.
Размещено на Петерхосте