Render.ru

Изменение цвета при Save for Web

plotnik

Пользователь сайта
Рейтинг
2
#1
Опишу порядок действий по-военному.

1. Создаю картинку в режиме RGB. Background белый.

2. Заливаю черным (убиваю) синий и зеленый каналы. Получается чисто красная картинка. В окошке Info везде rgb = 255,0,0.

3. Делаю Save for Web в формат jpg. Но жипег получается не чисто красный, а rgb = 254,0,0. Что есть очень плохо в моем случае.

Шаманил с % кач-ва jpeg, оптимизация вкл/выкл, ICC-profile. Было подозрение на цветовые раб. пространства. Не то чтобы я в них разбираюсь, скорее нет. Но и там честно пошаманил. Не решается проблема чисто красной картинки. rgb по-прежнему = 254,0,0.

Не знает ли кто-нибудь пути к победе над описанным явлением?
 
#2
Нет пути. Только формат без сжатия или индексный цвет. JPEG не сжимает RGB поканально, как три ч\б изображения (как он сжимает CMYK при расширении спецификации от Адобы), а преобразует RGB в YUV (Y - яркость, U+V - тон и насыщенность), при этом UV прибиваются по разрешению, то есть, например на 4Y пиксела будет приходиться 1UV пиксел. Следовательно при распаковке из YUV надо сделать RGB. То есть, идет трансформация цвета при кодировании и декодировании. Отсюда и помехи, то есть, отличия цвета от точных заданных значений.
 

plotnik

Пользователь сайта
Рейтинг
2
#3
Спасибо. Понятно. YUV <-> RGB - неизбежно теряется, а jpeg - это же YUV, блин.

Кажется странной такая штука. Допустим, есть чисто красный сайт (фон ff0000) с таким вот jpeg'ом с красным фоном (где цвет съехал на бит-другой). В hi-color'ном режиме на некоторых картах разница в 1 бит может стать очень заметной, картинка может выпасть из фона.

---
Попробую задать еще вопрос, если это не слишком нагло (да и раздел уже слегка не тот).

У меня спец. задачка. Надо максимально хорошо сжать пачку монохромных картинок. После некоторых экспериментов я пришел к тому, что лучше всего их запихивать в по отдельности каналы r, g и b и сжимать jpeg'ом с контролируемыми на глаз потерями. И все бы чудесно, если бы не эти невосстановимые YUV-потери, кот. проявляются и при 100% качестве jpeg.

Может быть кто посоветует?

1. в сторону каких форматов стоит посмотреть (tiff, jpeg2000?), где все работается в rgb c хорошим сжатием с контроллируемыми потерями? Png, gif смотрел, жмут недостаточно.

2. есть ли еще софтина, в кот. можно примерно как фотошоповском Save for Web контроллировать визуально картинку, подбирая сжатие?

3. может быть просто софтина, которая качественно сжимает и имеет хорошие настройки сжатия, возможно и без визуальных штучек.

3. ну и может еще что для описанной ситуации (кроме того, чтобы пойти в управдомы).
 
#4
Да не используют жпеги для конкатенации с фоном, только Gif. Там RLE сжатие.

Я не понял, монохромные это какие точно: черно-белые, или одного, какого-то, цвета, скажем, лиловые? Вы пишите о том, что запихиваете что-то там в ргб каналы, а зачем? Если это ч\б, то так и сжимайте - т.к. цвета нет, одна яркостная компонента и сожмется.

Жпег вносит шумы в восстановленную картинку, так что ищите беспотерьное сжатие. Говорят есть такое: http://www.qbit.com/technology.php
 

plotnik

Пользователь сайта
Рейтинг
2
#5
Вобщем задачка - максимально упаковать пачку 8-бит картинок (эту пачку надо гонять по сети). Палитра у всех одинаковая - градации серого. Возможно сжатие с небольшими потерями. Если паковать каждую картинку в отдельности - суммарный объем великоват.

Вот я и придумал: каждые 3 таких 8-бит картинки запихивать в каналы rgb одной 24-бит картинки, по штуке в канал. А потом все это - в jpg. Jpeg получается значительно меньше, чем 3 отдельных картинки в сумме (тоже сжатых). Все это - с приемлемым видимым кач-вом. Потом я собирался эти картинки из каналов доставать автоматически.

Ну а поскольку Вы, dessiner, напомнили, что jpeg - это yuv, я понял, что совершил глупость. Спасибо, я сэкономил кучу времени. Из yuv, если не ошибаюсь и rgb-каналы извлекаются обычно с разной точночтью.

Так что сейчас разбираюсь с другими форматами, кот. хорошо жмут, и подбираю софт, которым удобно экспериментировать.

За ссылку на qbit спасибо, посмотрю на свежую голову.
 
#6
А, вот оно что.

На кубите честно говоря смотреть особенно не на что - они такую крутизну из себя строят что даже толком ничего не объясняют, не то, что скачать что-то дают. То есть, это не open source.

Проверьте вейвлетные технологии, например jpeg2000.
 

plotnik

Пользователь сайта
Рейтинг
2
#7
Да, я как раз в окрестностях jpeg2000 брожу. Он поддерживает честные 24 бита. Сейчас софтину подберу получше под него. Спасибо большое за помощь.
 
#8
У вейвлета свои не менее чудесные артефакты, но цвета он держит на самом деле по местам: http://www.leadtools.com/utilities/psplugin/PhotoShop_plug-in.htm - плагин к ФШ, бесплатный, нужно только зарегаться. После установки можете сохранять и открывать жпег2000 обычным способом.

Настроек там при сохранении в формат дофига и есть превью.
 
Сверху