Большинство изображений сейчас так и не доходит до «твёрдой копии», перелетая с наших дисков в Интернет-галереи.
При этом зачастую снимки с камерофонов выглядят зачастую лучше, чем полученные на значительно более «продвинутых устройствах. Попытаемся разобраться, почему так происходит, и научиться получать «лёгкие файлы» достойного размера.
Вначале один из примеров эволюции оборудования
* 20/08/03: Canon EOS 300D / Digital Rebel (6 mp)
* 17/02/05: Canon EOS 350D / Digital Rebel XT (8 mp)
* 24/08/06: Canon EOS 400D / Digital Rebel XTi (10 mp)
* 24/01/08: Canon EOS 450D / Digital Rebel XSi (12 mp)
* 10/06/08: Canon EOS 1000D / Digital Rebel XS (10 mp)
* 25/03/09: Canon EOS 500D / Digital Rebel T1i (15.1 mp)
* 08/02/10: Canon EOS 550D / Rebel T2i (18 mp)
Сейчас, как все знают, и камеры с матрицами 1\2.3” имеют двузначные значения миллионов пикселей, что несомненно радует производителей карт памяти и жёстких дисков.
Несколько базовых понятий
Пространственная дискретизация – преобразование изображения из аналоговой (непрерывной) формы в цифровую (дискретную), т.е построение некоей мозаичной картинки, состоящей из пикселей (точек). Процесс оцифровки происходит с использованием сенсорных устройств: линейных (сканеры) или двумерных (матрицы фото и видеокамер)
Воспроизводит печатные технологии: гравирование и фотолитографию – контактную печать полутоновой картинки через растр с последующим травлением.
Пиксель или пиксел (англ. pixel — сокращение от picture element или picture сell — элемент изображения) — минимальный участок изображения, для которого независимым образом можно задать цвет.
Для фотокамер имеет несколько иное значение: здесь это группа сенсорных элементов, регистрирующих параметры светового потока для записи одного пикселя, часто они объединены одной микролинзой.
Растровое изображение (посмотрите на телеэкран, или на фотографию в газете) формируется из определенного количества строк, которые, в свою очередь, содержат некое количество точек («японский» кроссворд).
Разрешающая способность ( разрешение) растрового изображения определяется количеством точек по горизонтали и вертикали на единицу длины изображения . Величина разрешающей способности обычно выражается в DPI ( dot per inch — точек на дюйм) или в ppi (pixels per inch - пикселов на дюйм). Разрешение показывает, сколько точек (или пикселов) размещается в одном линейном дюйме. Используют также число линий на дюйм (lpi - lines per inch). Эта единица измерения связана с растром, который используется в типографии для разбиения таких полутоновых изображений, как фотографии, на мелкие точки. Исторически эти полутоновые линейные растры состояли из прямых линий разной ширины, применяемые для проверки качества объективов штриховые миры устроены аналогично
Глубина цвета (качество цветопередачи, битность изображения) — термин компьютерной графики, означающий объём памяти в количестве бит, используемых для хранения и представления цвета при кодировании одного пиксела растровой графики.
Цветовая модель - это метод для определения кодирования цветов. Часто называют цветовым пространством
Растровые форматы
В файлах растровых форматов запоминаются:
• размер изображения — количество пикселей в рисунке по горизонтали и вертикали
• битовая глубина — число битов, используемых для хранения цвета одного пикселя (палитра)
• данные, описывающие рисунок (цвет каждого пикселя рисунка).
•некоторая дополнительная информация. «метаданные»
Индексированные цвета и палитры
1-битный цвет (2^1 = 2 цвета) бинарный цвет, чаще всего представляется чёрным и белым цветами
8-битный цвет (2^8 = 256 цветов) Известен нам в виде gif файлов и «безопасной» WEB палитры (216 цветов) http :// turbonet . narod . ru / web / palitra . htm
«Реальные» цвета
При большой глубине цвета можно кодировать яркости красной, зелёной и синей составляющих — такое кодирование обычно называют RGB-моделью.
HighColor (HiColor)
15-битный цвет: использует 5 бит для представления красной составляющей, 5 для зелёной и 5 для синей, то есть 25 = 32 возможных значения каждого цвета, которые дают 32 768 (32×32×32) объединённых цвета.
16-битный цвет: использует 5 бит для представления красной составляющей, 5 для синей, но (так как человеческий глаз более чувствителен при восприятии зелёной составляющей) 6 бит для представления зелёной, соответственно 64 возможных значения. Таким образом получаются 65 536 (32×64×32) цвета.
Truecolor
24-битный Truecolor- цвет использует по 8 бит для представления красной, синей и зелёной составляющих, 28 = 256 различных варианта представления цвета для каждого канала, или всего 16 777 216 цветов (256×256×256)
Глубина цвета и количество цветов в палитре
8
28=256
16
216 = 65 536
24
224 = 16 777 216
Теперь решим маленькую задачку.
Возьмём простейшие изображение (ту самую стрелочку в начале статьи)и подсчитаем его объём в несжатом формате. (BMP)
Определяем количество цветов n в изображении.
В данном случае изображение черно-белое, поэтому n = 2
Определяем количество пикселей k в изображении. k = 7 х 8 = 56 пикселей
Определяем количество памяти, необходимое для хранения 1 пикселя по формуле:
n=2^i
где
i – количество памяти, необходимое для хранения 1 пикселя;
n – количество цветов в изображении
Следовательно, для хранения 1 пикселя необходим 1 бит
2=2^1
Определяем количество памяти, требуемое для хранения всего изображения:
i*k = 1×56 = 56 бит = 7 байт .
Размер файла можно уменьшить, записывая цвет не для каждого пикселя, а объединяя их в группы. Именно это происходит в одном из вариантов формата TIFF.
Вот теперь мы можем определить, сколько же памяти потребует запись фотографий сделанных APS-Cкамерами.
Вернёмся к списку камер
* 08/02/10: Canon EOS 550 D / Rebel T 2 i (18 mp )
Разберёмся, откуда взялись 18 mp в последней модели
Размер её матрицы 5184*3456=17 915 904, действительно, почти 18 миллионов (мега)
При глубине цвета 16 бит это даст 286 654 464 бит, 35 831 808 байт, 34 992 Килобайт; 34,171875 Мегабайт.
Реальный размер полученной с камеры картинки – 51 Мегабайт говорит об использовании 24 битного цвета, о чём нам и напишет вьювер.
Картинка явно великовата для Интернета.
На наше счастье существуют сжатые форматы файлов, определённым образом убирающие из файла избыточную информацию: уменьшающие количество цветов и «склеивающие» пиксели в блоки, размер которых можно регулировать.
Ясно, что прежде всего надо убрать избыточные цвета, но, конечно, не столь кардинально, как это делает WEB палитра. Кстати, именно с этого и советует начать коррекцию цвета великий Дэн Маргулис
http://www.margulisbook.ru/index.php?option=com_content&view=article&id=9&Itemid=16
Не путать с не менее известным Евгением Маргу́лисом
Теперь от теории перейдём к практике.
Для этого нам понадобится редактор, способный использовать алгоритм Ланцоша – этот способ сжатия используется во многих некоммерческих программах и намного превосходит то, что может предложить фотошоп.
http://www.cambridgeincolour.com/ru/tutorials/image-resize-for-web.htm
Упомянутый в этой статье метод кардинального синуса вполне доступен – с использованием этого алгоритма обычно сжимают картинку видеокарты (хотя, не сильно разбираясь в DirectX / OpenGL, могу и ошибаться), да и большинство браузеров, так что использующие для сжатия скриншоты своих работ поступают довольно логично. Вот только контролировать параметры процесса довольно сложно.
Я предпочитаю XnView, он лежит здесь, http://www.xnview.com/en/download.html
встаёт на языке системы.
Есть варианты для всех ОС и portable версия. Поскольку читает все возможные типы файлов, желающие могут сохранять файл как однослойный psd , а потом открывать в этой программе, я обычно не заморачиваюсь, сохраняю в jpeg с наилучшим разрешением.
Впрочем не менее хорош и Fast Stone Viewer . http://www.faststone.org/FSViewerDetail.htm
- особенно он удобен для просмотра полноразмерных панорам
Осталось найти файл для эксперимента
http://capacamera.net/special/nishimura100226/ Снимки, имхо, поганенькие, но японцам видней.
Для контроля я буду использовать 9 версию шопа – 10ю, CS 3, вполне лицензионную не стал ставить – оперативку, зараза, жрёт.
Поскольку движок сайта фотографии ужимает до 600 px по горизонтали, именно до этого размера и будем жать исходник.
Осталось лишь повторить показанные на скринах действия, внимательно посмотреть на объём файлов и сохранённое количество цветов, а потом выбрать наиболее рациональный способ.
здесь хорошо видно на какие кнопочки надо давить, что бы получить результат.
исходник:
Откроем его в фотошопе:
Этот способ интерполяции можно выбрать и на вкладке "сохранить для WEB".
Вариант получен через "сохранить как"
Ну а "на сладкое" - то что нам помог сделать венгерский математик Ланцош, вот кстати, одна из его книг
Удачи!
PS - не все картинки вставились, но может так оно и лучше?!