Как удалить встроенный цветовой профиль из изображения jpg?

У меня есть фотография в формате jpeg, в которой, кажется, есть фильтр. В зависимости от того, какой просмотрщик я использую, изображение кажется темнее, чем должно. Я не знал, что jpeg может включать что-то подобное, но, похоже, это необходимо.

Оригинал: Исходное изображение

Изменено (обратите внимание, что оно темнее): Измененное изображение

Как я могу удалить фильтр или игнорировать его при изменении размера изображения в С#? Я был бы не против объяснить, как это происходит. Изображение было предоставлено пользователем, но я не знаю, как к нему был добавлен этот фильтр (я не знал, что формат jpeg поддерживает такие вещи).


person Brian    schedule 30.09.2014    source источник
comment
Ваша фотография имеет встроенный цветовой профиль: regex.info/ я не знаю, как удалить его с помощью кода C#; хотя фоторедактор, такой как photoshop или Gimp, сделает это.   -  person Blorgbeard    schedule 30.09.2014
comment
Я изменил заголовок, чтобы использовать цветовой профиль вместо фильтра (я не верю, что какой-либо формат изображения включает фактические фильтры, в то время как многие допускают какой-то цветовой профиль или, в более простом случае BMP, палитру для сопоставления цветов с байтовыми индексами)   -  person Alexei Levenkov    schedule 30.09.2014
comment
Просто используйте фотошоп, чем больше вы кодируете на С#, тем больше вы получаете вялое изображение   -  person Just code    schedule 30.09.2014
comment
Половина знания - это знать вопрос, который нужно задать :) Спасибо за комментарии, они помогли мне решить проблему (надеюсь), даже если я не могу удалить ее с фотографии программно. Я не совсем уверен, хочу ли я удалить его в любом случае. Похоже, если они добавят цветовой профиль, мы должны использовать его, а не удалять.   -  person Brian    schedule 30.09.2014
comment
Вы уверены, что в сам JPEG встроен цветовой профиль? Можете ли вы использовать какую-нибудь программу дампа JPEG, чтобы увидеть, какие маркеры APPn содержит ваш поток JPEG?   -  person user3344003    schedule 01.10.2014
comment
В дополнение к комментариям выше photo.stackexchange.com может быть сайтом, который вы хотите посетить для поиска похожих проблем.   -  person U. Windl    schedule 23.07.2019


Ответы (1)


При использовании команды exiftool будет выполняться команда exiftool -ICC_Profile= photo.jpg.

На самом деле, прежде чем сделать это, я извлек профиль перед удалением (хотя exiftool создал резервную копию) с помощью команды exiftool -icc_profile -b -w icc photo.jpg. Это создаст photo.icc. Проверка с использованием exiftool photo.icc показала, что профиль является широкоформатным.

...
display profile (AdobeRGB):
Profile CMM Type                : KCMS
Profile Version                 : 2.1.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
Profile Connection Space        : XYZ
Profile Date Time               : 1998:12:01 18:58:21
Profile File Signature          : acsp
Primary Platform                : Microsoft Corporation
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : KODA
Device Model                    : ROMM
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82487
Profile Creator                 : KODA
Profile ID                      : 0
Profile Copyright               : Copyright (c) Eastman Kodak Company, 1999, all rights reserved.
Profile Description             : ProPhoto RGB
Media White Point               : 0.9642 1 0.82489
...
Red Matrix Column               : 0.79767 0.28804 0
Green Matrix Column             : 0.13519 0.71188 0
Blue Matrix Column              : 0.03134 9e-005 0.82491
Device Mfg Desc                 : KODAK
Device Model Desc               : Reference Output Medium Metric(ROMM)
...

Однако в большинстве случаев удаление профиля не улучшит его внешний вид; правильным способом было бы применить коррекцию профиля к данным изображения (например, преобразовать его из AdobeRGB в sRGB). Возможно, вы захотите взглянуть на Как можно выполнить преобразование цвета с профилями ICC для набора произвольных значений пикселей (не для структуры данных изображения)?.

В целом фотографии с профилем AdobeRGB выглядят немного скучно на дисплеях с нешироким цветовым охватом (sRGB), а некоторые программы неправильно применяют профили (например, встроенное средство просмотра изображений Windows 7). В целом Firefox работает хорошо, если только не используются профили ICCv4 (работа в процессе).

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

person U. Windl    schedule 23.07.2019