Вопросы качества изображений

Аўтар

Думается эта тема по-существу сама по себе .., и продолжение разговора последует...
Но в данный момент хотелось бы понять кое-какие аспекты касаемые качества рисунков-изображений карт
Заранее извеняюсь за может быть дилетантские вопросы, но может быть кто-либо из продвинутых сможет ответить :
- есть ли какие-либо принципиальные (с точки зрения качества при прочих равных ) различия между JPG GIF TIFF PNG и т, д, или может быть - это лишь суть отличия авторства формата?
Можно ли сказать к примеру что 300PPI в JPG соответствует например 200PPI в GIF?
Или например можно ли сказать что чем больше размер изображения тем качество картинки лучше в независимости от плотности пикселей (учитывая что какая-то минимальная плотность есть по-любому)
Или наоборот можно ли сказать что начиная с какого-то "плотного" PPI сколько его не уплотняй или наоборот сколько нерастягивай изображение с "искусственным" уплотнением качество не улучшится
Очевидно лучше оригинала не сосканируешь
Где критерии "полноты " скана?
-ВООБЩЕ какие количественные или может быть даже качественные характеристики (свойств) файла-изображения и каким образом отвечают за качество картинки (прежде всего интересует вопрос разрешения - четкости и контрастности и в меньшей вопросы передачи цветов)
как следствие почему зачастую файлы с меньшим разрешением да еще и с меньшими размерами изображения и к тому же с меньшей ёмкостью оказываются более качественными нежели с обратными параметрами?
как пример T-47-01_02_03 оба варианта издания 92г
96 т/д 1350кБ 2550x3052x256GIF качественней чем
300т/д 1675кБ 3857x4699x24bJPG
есть также примеры и наоборот GIF оказывается хуже JPG (при этом выигрывая в характеристиках- с ходу пример не вспомню)
в чем тут дело??
или быть может это только видется на мониторе (т.е. типа глюки)- а при печате все встанет на свои места??
есть у кого какие мысли на этот счет?
Может уважаемые админы какой-то ликбез проведут...
(Ни коим образом не собираюсь поднимать вопрос качества листов выложенных на этом замечательном сайте, - хочется понять и в принципе разбираться в сути качества электронных аналогов бумажных оригиналов)
Извиняюсь за многословность...

Не продвинутый, но отвечу:)

1. На качество картинки влияют:
1) качество бумажного оригинала;
2) сканер;
3) параметры при сканировании;
4) постобработка; и только потом уже
5) формат хранения и степень сжатия.
Поэтому вы можете найти совершенно разные варианты одной карты, как по качеству, так и по размеру.

2. Соответственно, размер (и формат) не является критерием качества, он может служить лишь приблизительной предварительной оценкой. И то далеко не всегда, так предварительные этапы 1-4 могут существенно отличаться.

Вот пример: картинка просканирована плохо, много шума (вместо однотонного ровного цвета он то темнее, то светлее), при сжатии программа пытается сохранить все эти ненужные детали (дефекты оригинала) и файл получается больше, с худшим качеством.

3. Грубо говоря, на всех этапах оригинал не улучшается, он ухудшается.
Увеличением размера и ppi уже просканированной картинки ничего не добьешься.
(Исключение: некоторые дефекты цветопередачи можно улучшить, до определенной степени).

4. Принципиальное отличие JPG от GIF TIFF PNG в том, что в JPG при сжатии теряются детали и возникают артефакты (например, размытость вокруг четких контуров). В остальных форматах процент сжатия может быть разный (в зависимости от алгоритма), но детали изображения остаются такими же.

5. При печати лучше не станет. Это еще один этап, а каждый этап, как я написал, лишь ухудшает картинку:)

6. Критерии полноты скана (ИМХО):
Увеличиваете финальное изображение до максимального масштаба (то есть в котором вы видите важные для вас минимальные детали) и сравниваете с бумажным оригиналом. Обращаете внимание на:
- четкость деталей;
- корректную цветопередачу и шумы;
- артефакты сжатия JPG (если карта в этом формате, или он использовался на промежуточных этапах).

Если для вас важен размер файла, также обращаете внимание на:
- оптимальное разрешение (ppi) (нет смысла в большем разрешении, если это не добавляет деталей);
- оптимальный формат и степень сжатия (здесь есть нюансы, часто решение принимается после экспериментов).

Некоторые особенности есть в каждом из фоматов. Например, PNG знает о прозрачных областях изображения. Но не думаю, что это важно в данном случае.

Главный критерий: размер изображения в пикселях и степень сжатия при сохранении.

А затем уже и всё выше сказанное.

Следует помнить, что ЛЮБОЕ преобразование сжатого файла (JPG) например приводит к очередному перекодированию ВСЕГО файла и как следствие к ухудшению изображения (это для любителей подрЕзать рамку, подсветлить уголки и т.п.)

Правда существуют программы, которые с этим борются. Типа, выполняют преобразование области, но это скорее исключение и специальный инструмент.

Цитата сообщения от igorkogan отправленного 1 Дек, 2006 в 09:48

Следует помнить, что ЛЮБОЕ преобразование сжатого файла (JPG) например приводит к очередному перекодированию ВСЕГО файла и как следствие к ухудшению изображения

Забыл добавить: "если после этого преобразования изображение снова сохраняется в JPG-е". Насколько я понимаю, если сохранять изображение в формате без потерь, то никакого ухудшения не произойдет :)

Цитата сообщения от igorkogan отправленного 1 Дек, 2006 в 09:48

Следует помнить, что ЛЮБОЕ преобразование сжатого файла (JPG) например приводит к очередному перекодированию ВСЕГО файла и как следствие к ухудшению изображения (это для любителей подрЕзать рамку, подсветлить уголки и т.п.)

Во первых, не любого сжатого файла, а, как правильно было замечено, формата файла с потерями, типа JPG. Во-вторых JPG можно поворачивать без потерь. MaxView, например, умеет lossless jpeg rotation - удобно для фоток.

еще добавлю к вышесказанному:

нужно еще учитывать принципы работы алгоритмов. Так, идеально отсканированный лист в 99% случаев в JPG будет сохраняться хуже, чем в GIF, а в OZF где-то в 5 раз будет больше чем в GIF. Плохо же отсканированный в GIF будет выглядеть хуже, чем в JPG, а места занимать больше. Причем заранее предсказать результат достаточно сложно, особенно после безвозвратной потери информации в GIF'е...

Если мне не изменяет память PNG/GIF дают неплохую компрессию для изображений или виде надписей, состоящих из монотонных прямоугольных блоков или горизонтальных линий разных цветов с небольшим количеством градиентов. Например, скриншоты от старых виндов очень хорошо сжимались в PNG.

Конечно же я имел ввиду "при сохранении файла в том же формате"

lossless jpeg rotation - надо глянуть. Что-то невероятное. Уважаю разработчика, но трудно верится в "преодоление законов физики". Так же у них есть FastStone Photo Resizer.

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

Можно ли сказать к примеру что 300PPI в JPG соответствует например 200PPI в GIF?

Скорее да, чем нет. Скорее 300ppi 70% qual jpg = 200ppi 10% lossy gif

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

-ВООБЩЕ какие количественные или может быть даже качественные характеристики (свойств) файла-изображения и каким образом отвечают за качество картинки (прежде всего интересует вопрос разрешения - четкости и контрастности и в меньшей вопросы передачи цветов)

Однородность фона. Без пятен и прочего мусора, не несущего непосредственно полезную информацию. Чем меньше этого шума, тем меньше занимает файл и тем качественнее изображение

как следствие почему зачастую файлы с меньшим разрешением да еще и с меньшими размерами изображения и к тому же с меньшей ёмкостью оказываются более качественными нежели с обратными параметрами?

Именно по тому, что в них нет лишней (занимеющей изрядное количество места) информации. Простое отрезание желтованотого фона фактуры бумаги убирает процентов 40 бесполезной информации с изображения карты.

есть также примеры и наоборот GIF оказывается хуже JPG (при этом выигрывая в характеристиках- с ходу пример не вспомню)

Например гиф делался с jpg
Лист карты был залит чаем или выцвел пятнами

Jpg такое изображение передаст лучше.

Цитата сообщения от igorkogan отправленного 4 Дек, 2006 в 13:55

lossless jpeg rotation - надо глянуть. Что-то невероятное. Уважаю разработчика, но трудно верится в "преодоление законов физики". Так же у них есть FastStone Photo Resizer.

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

По этому изменить порядок следования узлов без перекодирования - вполне возможно.

Цитата сообщения от roman pro отправленного 5 Дек, 2006 в 03:25

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

По этому изменить порядок следования узлов без перекодирования - вполне возможно.

Не совсем так.

Описание матрицы узловых точек идёт по X и Y.

Поворот изображения приведёт не к изменению порядка следования узлов, а к переопределению узловых точек, которые на 100% не совпадут при этом с теми, которые были определены ранее, а будут где-то в бывших областях интерполяции :(

Описание структуры JPG-файла можно посмотреть например тут: http://www.obrador.com/essentialjpeg/HeaderInfo.htm

Цитата сообщения от roman pro отправленного 5 Дек, 2006 в 03:21

-ВООБЩЕ какие количественные или может быть даже качественные характеристики (свойств) файла-изображения и каким образом отвечают за качество картинки (прежде всего интересует вопрос разрешения - четкости и контрастности и в меньшей вопросы передачи цветов)

Однородность фона. Без пятен и прочего мусора, не несущего непосредственно полезную информацию. Чем меньше этого шума, тем меньше занимает файл и тем качественнее изображение

Насколько я помню, к JPEG это не слишком применимо, т.к. в нём для кодирования используется одна из разновидносткей дискретного преобразования Фурье. Боюсь соврать, но IMHO для него идеальным полотном для сжатия будет градиент, напоминающий функцию косинуса, и крайне нежелательно присутствие четких границ или контрастных переходов.

Круто сказано.

Естественно, чем больше закономерностей в структуре файла, тем меньше и точнее механизм его описания при кодировании (будь то JPG или RAR).

Пробуем сжать "Чёрный квадрат" Малевича и убеждаемся как точно будет он сохранён и какой небольшой получится файл

Есть ещё один важный момент: формат GIF старый и поэтому поддерживает только изображения с индексированными цветами (палитра до 256 цветов), а все прочие - RGB (True Color). (Поэтому, скажем, фотографии в GIF принципиально сохранить хорошо не получится.)
Так что JPEG хорош прежде всего для фотографий (с плавными переходами цветов), а GIF - для графики наподобие "векторной", т.е. с большими участками одного цвета. Отсканированные карты, в данном случае, промежуточный вариант - JPEG будет размывать чёткие границы линий и надписей (конечно, зависит от степени сжатия), а GIF будет расти в размере из-за мелких цветовых различий при сканировании (прежде всего - площадей одного цвета) - наверное, можно оптимизировать карты перед преобразованием (например, выбором подходящей палитры - т.к. практически все сканеры дают RGB).
Формат PNG примерно аналогичен GIF, но поддерживает RGB, т.ч. лично мне нравится больше (хотя он может быть менее распространён).

P.S. И ещё GIF - патентованный формат. Хотя программные реализации алгоритмов сжатия давно доступны, т.ч. теперь это, наверное, не очень актуально. ;)

P.P.S. Только что наткнулся на https://poehali.net/forum/sajt/karty/How-to-and-how-not-to-archive-scanned-maps/</ins>, где обсуждался формат JPEG2000 (.jp2). Он, конечно, менее распространённый, но, вроде как, специально ориентирован на сильное сжатие с хорошим качеством отсканированных карт больших размеров. Я раньше натыкался на такие файлы, когда качал древние карты из библиотеки Конгресса - качество было такое, будто рассматриваешь под лупой. :)
Так что в идеале - сжимать всё в этом формате и давать кому надо конверторы. :)

почти полностью согласен с оценкой jpeg2000 только трудно он пока внедряется...

JPEG2000 позволяет сжимать изображения в 200 раз без заметной для глаза человека потери качества. Основным отличием JPEG2000 от предыдущей версии этого формата является сжатие с использованием алгоритма волнового преобразования (изображение описывается с помощью математических выражений как непрерывный поток) вместо преобразования Фурье, что и позволяет предотвратить появление характерных блоков. Допустимо также без ущерба модифицировать (масштабировать, редактировать) рисунок, сохраненный в этом формате.

Алгоритм волнового преобразования позволяет просматривать и распечатывать одно и то же изображение при различных (заданных пользователем) значениях разрешения и с требуемой степенью детализации. Благодаря этой особенности JPEG2000 обеспечивается возможность загружать картинку с разными значениями разрешения.

Новый стандарт является открытым.

Подробнее тут: http://www.compression.ru/download/jpeg2000.html

P.S. Одной из неприятных сторон использования этого формата является наличие нескольких реализаций, иногда несовместимых с одним и тем же средством просмотра.
Плагин для Фотошопа - во вложении (Данный файл поместить в указанную ниже папку C:\Program Files\Adobe\Photoshop CS\Plug-Ins\Adobe Photoshop Only\File Formats\)

Может кому пригодится...