Как использовать lcms2 для проверки цветов вне гаммы?
Я конвертирую изображения со встроенными профилями ICC в цветовое пространство sRGB с помощью LittleCMS. Я хочу эффективно определять, когда это преобразование приводит к потерям из-за того, что изображение содержит пиксели, выходящие за пределы гаммы sRGB (например, изображение использует Display P3 и содержит насыщенные цвета).
Обратите внимание, что я не хочу просто проверять, имеет ли встроенный профиль широкую гамму, потому что пиксели изображения могут не использовать преимущества полной гаммы и по-прежнему соответствовать sRGB.
я знаю, что естьcmsSetAlarmCodes
, но похоже, что это может привести к ложным срабатываниям, потому что ничто не мешает изображению на самом деле содержать тот же цвет, который я установил для цвета будильника. Есть ли у LCMS какой-то внеполосный сигнал для этого?
Еще один подход, который приходит мне на ум, заключается в том, чтобы применить преобразование дважды: в sRGB, а затем обратно в исходное цветовое пространство и проверить, насколько оно было с потерями. Но это более чем удваивает время обработки. Есть ли более эффективный способ?