desтруктивный журнал - Написал статейку в локальную wiki о том что jpeg не панацея..
[Recent Entries][Archive][Friends][User Info]
03:24 pm
[Link] |
Написал статейку в локальную wiki о том что jpeg не панацея.. Или что такое форматы файлов (для изображений) и чем они отличаются (в контексте уменьшения размера файла).
А то юзеры у нас неграммотные.. =)
Как оптимально уменьшать размер картинкиТема достаточно большая. Изложу вкраце основную суть. Сохранять все в jpeg, не учитывая характер изображения, в надежде получить маленький файл - ошибка. Какие бывают форматы сохранения растровых изображений и их характерные отличия - BMP - формат без сжатия (либо использующий сжатие без потерь RLE). Бывает с индексированной палитрой (256 цветов максимум), бывает с полноцветным описанием цветового пространства. Подходит для чего угодно, но размер файла очень большой.
- JPEG - "Сжатие с потерями". Подходит для изображений в которым много цветовых переходов и нет однородных заливок (пример: фотографии, с некоторыми ограничениями - временные разрезы). Лишь при соблюдении этих условий сжатие будет существенно. Сжатие характеризуется в процентах (но иногда эти проценты показывают разные величины, некоторые проагрммы выражают в них качество картинки (quality), некоторые степень сжатия (Compress Ratio). Т.е. эти данные противоположны). На изображениях с однородными областями, появятся артефакты сжатия, вокруг четких границ. (Есть еще формат Jpeg2000 основанный на фрактальном сжатии, но нам он не нужен :))
- GIF - может содержать от 1 до 256 цветов. Сжатие LZW, более продвинутое по отношению к RLE у BMP, благодаря чему очень хорошо сжимаются изображения с однородными областями (пример: карты - белый фон значителен, общее количество цветов не более двух-трех десятков).
- PNG - практически идентичен GIF, но может содержать кроме индексированной палитры, полноцветную. Сжатие без потерь.
- TIF - универсальный формат. Так называемый контейнер. В большинстве случаев дает более оптимальный результат по отношению к другим форматам. Отличается тем, что может быть в любом цветовом пространстве (black\white, grayscale, индексированый цвет, RGB), и может для сжатия использовать широкий спектр алгоритмов сжатия.
- Deflate - Сжатие без потерь. Хорошо сжимает области с резки контурами, и равномерными областями. Может вызвать проблемы с просмотром в старых программах.
- LZW - Сжатие без потерь. Сжимает изображение благодаря выделению одинаковых кусочков (pattern) и заменой их более короткими кодами. Проблем при просмотре не наблюдается, разве что у самых древних программ.
- RLE - Сжатие без потерь. Самый примитивный алгоритм. Заменяет последовательность одинаковых байтов по принципу XXXXX на 5X
- JPEG - Сжатие с потерями. Удаляется информация, которая глазом не воспринимается (в общем случае), при большом коэффициенте сжатия заметна блочная структура 8x8 пикселей и "мусор" вокруг четких границ. Поддерживается сжатие "серых" (256 оттенков серого) изображений. Файлы TIF с JPEG компрессией, могут вызвать проблемы при просмотре в старых программах.
- ZIP - Сжатие без потерь. Используется обычная компрессия ZIP. Могут быть проблемы при просмотре во многих программах (кроме Adobe Photoshop, ACDSee)
- Packbits - Сжатие без потерь. Подходит для сжатия черно-белых (black\white) изображений. Основан на RLE
- CCIT 3&4 — алгоритм использующийся в факсовых аппаратах (имеет выигрыш в 2 раза по сравнению с черно-белым PNG)
- Calcs - Экзотика. Лучше не использовать.
- Uncopressed, RAW - Без сжатия вообще. Файл гигантских размеров. В общем случае больше чем BMP
- PDF - векторно-растровый формат. Описание займет не один десяток страниц. Переплевывает все выше сказанное, но нужен опыт и понимание :)
Это то что касаемо формата файла. Но есть еще один немаловажный фактор - размер в пикселах(точках). Файл в 10000 точек по какой-либо стороне - явно неудачный выбор для просмотра на мониторе. Поэтому есть смысл (если файл не предназначен для печати), уменьшить его до человекочитабельных размеров. Учтите! Файлы с индексированой палитрой (gif, в поределенных случаях tif, png) либо не будут уменьшаться (правильный подход приложения к ресемплингу таких файлов), либо будут выглядеть ужасно. Для того чтобы этого избежать, надо индексированную палитру перевести в нормальную (RGB), сделать уменьшение, по необходимости вернуть индексированый цвет (будте внимательны! В результате проведенной интерполяции появятся новые оттенки вокруг четких контуров. Учтите это для выделения количества цветов) Теперь относительно того какую интерполяцию выбрать при уменьшении изображения. В разных программах встречаются разные алгоритмы, но основные есть везде. - Bicubic - бикубическая интерполяция. Самая медленная, самая ресурсоемкая, но самая качественная на данный момент. Дает некоторое размыливание изображения если уменьшать размер в порядки. Для использования на больших файлах, должно быть много памяти и терпения.
- bicubic smoofer - тоже самое, но с более "размытым" результатом. Придает "мягкость" изображению.
- bicubic sharper - тоже самое, но с акцентом на усиление резкости границ. Побочный эффект - возникновение ореола вокруг усиленных границ.
- Bilinear - билинейная. Быстрее чем бикубическая, и кроме изрядного "замыливания" вносит небольшие искажения в изображения. Не столь требовательна к ресурсам компьютера.
- Nearest neighborhood - Интерполяция по "ближайшему соседу". Самая примитивная, и самая деструктивная, в отношении изображения, интерполяция.
Есть еще много алгоритмов, такие как lancroz, b-spline, но они менее распространены и выигрыш их использования, видимо, зависит от характеристики самого изображения. Для увеличения картинок вышеперечисленные алгоритмы малопригодны, так как первые два сильно "мылят", а последний вообще не способен создать даже отдаленно напоминающее оригинал. Для увеличения оптимальным является использование фрактальных алгоритмов (Genuine Fractals). Но они очень ресурсоемки, но и качество выше в разы.
|
|
| |
| From: | zhu |
| Date: | February 8th, 2008 - 01:31 pm |
|---|
| | | (Link) |
|
jpeg не панацея, но путь наименьшего сопротивления и наиболее простое решение, почти что универсальное для обычного тупого юзера. но статья очень хорошая, лаконичная и своевременная. только лучше бы для тупых чуть почетче расписать области применения разных форматов. чуть подробнее с примерами. плюс кратенький обзор софта для работы с изображениями. простого и бесплатного софта на несколько практиических задач. то есть, писать для чуть более тупых.
![[User Picture]](http://lj.rossia.org/userpic/68405/12701) | | From: | d_e_s_ |
| Date: | February 8th, 2008 - 01:37 pm |
|---|
| | | (Link) |
|
=) ну делая поправку на то что я писал заметку для своей конторы, картинки у нас вполне специфичные (карты, разрезы, сейсмограммы), то и все это применительно к ним. Конечно для среднестатистического домашнего пользователя требуется правка под его особенности.
Про софт также, у нас есть стандартный выбор бесплатного софта на каждо рабочем месте от gimpa, до faststone viewer. Поэтому все применительно к тому парку ПО, что есть в конторе.
| From: | zhu |
| Date: | February 8th, 2008 - 01:42 pm |
|---|
| | | (Link) |
|
понятно. чуть доработать - и совершенно прекрасная статья для всяких разных чайников полчится.
| From: | zhu |
| Date: | February 8th, 2008 - 01:44 pm |
|---|
| | | (Link) |
|
с другой стороны, если подобные статьи приходится для сотрудников конторы, занимающейся картами и сейсмограммами писать - это беда.
![[User Picture]](http://lj.rossia.org/userpic/68405/12701) | | From: | d_e_s_ |
| Date: | February 8th, 2008 - 01:48 pm |
|---|
| | | (Link) |
|
ну вот так. Просто часто надо передать куда нибудь карту и еще что. В родном формате никто не прочтет. А растре любой может открыть. Но все тупо сохраняли в jpeg и потом плевались. Сейчас будут знать, что для чего. Надеюсь :)
| From: | zhu |
| Date: | February 8th, 2008 - 01:59 pm |
|---|
| | | (Link) |
|
печально, что одного неудачного опыта переформатирования в jpeg оказалось недостаточно для понимания, и приходится писать статью. а можно вообще написать свод 3-4 правил для совсем тупых. без объяснений, просто, если такое - то как, а такое - этак. и всё. пусть пользуются. тупую шпаргалку. иногда так объясняешь человеку, объясняешь.. а потом озарение - нах тут метать бисер перед свиньями :)
![[User Picture]](http://lj.rossia.org/userpic/68405/12701) | | From: | d_e_s_ |
| Date: | February 8th, 2008 - 02:02 pm |
|---|
| | | (Link) |
|
Вот именно поэтому и решили сделать локальную wiki, где собраны все вопросы и советы.. а-ля как сменить пароль, как открыть то, как сделать это.. ибо по десять раз на дню объяснять надоело :)
p.s. 3-4 правила это нереально оптимистичный вариант, на практике можно по нолю приписать к этим цифрам.
| From: | zhu |
| Date: | February 8th, 2008 - 02:41 pm |
|---|
| | | (Link) |
|
прекрасное решение насчет локальной wiki. 3-4 правила только для форматов графических файлов. в каком формате сохранять будем. про сжатие отдельно. а вообще ужос. |
|