Нужно ли удалять цветовую гамму p3 из изображения перед его отправкой на устройство?

У меня есть веб-сервер, на котором хранятся пользовательские изображения, и мне нужно знать, как хранить каждое изображение (например: my problem is to know if I need to store each picture with or without color space profile).

Я не совсем понимаю, как работает профиль Color Space. Я знаю, что Android ‹ Oreo поддерживает только sRGB, но может ли устройство Android ‹ Oreo конвертировать, например, цветовое пространство P3 в sRGB? или мне совершенно необходимо отправлять на эти устройства только картинки sRGB? Я знаю, что, например, Instagram или 500px хранят каждую картинку в обоих вариантах: с цветовым профилем и без цветового профиля, но это означает использование двойного хранилища :(

После того, как эффективно преобразовать цветовое пространство P3 в sRGB?


person zeus    schedule 23.02.2018    source источник
comment
Вы должны хранить файлы изображений в том виде, в каком вы их получили.   -  person greenapps    schedule 23.02.2018
comment
но могу ли я отправить изображение с цветовой гаммой P3 на Android ‹ Oreo?   -  person zeus    schedule 23.02.2018
comment
Если он находится в файле, отправьте файл.   -  person greenapps    schedule 23.02.2018
comment
так, почему, например, instagram и 500px хранят файл в двух вариантах?   -  person zeus    schedule 23.02.2018
comment
Они? Я не знаю. Хорошо загрузите вариант, который вы хотите.   -  person greenapps    schedule 23.02.2018
comment
это ответ, который мне очень помогает;) и да, они делают ...   -  person zeus    schedule 23.02.2018


Ответы (1)


Если вы считаете, что приложение в вашей цепочке не сможет правильно отображать изображения с широкой гаммой, безопаснее преобразовать их в наименьший общий знаменатель, то есть в sRGB.

Вы можете выполнить преобразование с помощью многих инструментов, например. Little CMS, GIMP, Photoshop позволят вам сделать это с помощью различных алгоритмов отображения гаммы, поддерживаемых ICC:

  • Абсолютный колориметрический
  • Относительный колориметрический
  • Перцептивный
  • Насыщенность

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

 1.1474451 -0.1450487 -0.0025531
-0.0419136  1.0420663 -0.0000536
-0.0174968 -0.0696506  1.0872218
person Kel Solaar    schedule 24.02.2018
comment
спасибо kel Solaar ... но почему приложение (то есть: Android) не может преобразовать изображение с широкой гаммой? Таким образом, я храню изображение в широком диапазоне, и я могу передать его устройству iOS, которое его поддерживает, и устройству Android, которое его преобразует. - person zeus; 24.02.2018
comment
Ну, это полностью зависит от уровня поддержки ICC в цепочке приложений, если ICC поддерживается, он будет выполнять преобразования соответствующим образом, если нет, то это обычно означает, что sRGB считается рабочим цветовым пространством. - person Kel Solaar; 24.02.2018
comment
хм, так поддерживает ли устройство Android icc для преобразования? - person zeus; 24.02.2018
comment
Учитывая то, что я прочитал здесь: source.android.com/ devices/tech/display/ Я не думаю, что поддержка в Oreo великолепна, поэтому я думаю, что безопаснее предположить, что более ранние версии просто не могут ничего сделать. Я бы преобразовал все в sRGB и вернулся к своим изображениям, когда распространение Oreo станет больше. - person Kel Solaar; 24.02.2018
comment
Спасибо, Кел, как вы думаете, я могу конвертировать в sRGB с помощью imageMagick? - person zeus; 24.02.2018
comment
Вы знаете, может ли jpg иметь профиль с широкой гаммой? я не могу найти ни одного примера изображения jpg с встроенным профилем P3 с широкой гаммой! также я нашел это изображение: webkit.org/blog-files/ color-gamut/Webkit-logo-P3.png (это не jpeg), но это странно, когда я открываю его в веб-браузере, он полностью красный, но когда я открываю его, например, с помощью acdsee, я вижу логотип на красном... я не понимаю, почему acdsee может показывать хороший цвет, а не гугл хром или даже фотошоп (в фотошопе он тоже полностью красный) ? - person zeus; 24.02.2018
comment
Я никогда не использовал ImageMagick для преобразования цветового пространства, поэтому не могу комментировать. Ничто не запрещает вам хранить данные широкой гаммы в файле Jpeg, поэтому вы можете создавать файлы Jpeg с профилями WCG. Изображение, которое вы связали, будет полностью красным на дисплее sRGB, ЕСЛИ цепочка ICC работает, потому что в нее встроен профиль P3: цвет логотипа близок к максимальному красному sRGB (221) после преобразования в P3, а все окружающие цвета - максимально красный P3, таким образом, выходит за пределы гаммы и обрезается после отображения на экране sRGB. Если вы видите логотип, это означает, что ACDSee не управляет цветом должным образом и предполагает, что контент имеет цветовое пространство sRGB. - person Kel Solaar; 24.02.2018