Мне нужно преобразовать изображение CMYK в полутоновое изображение CMYK. Сначала я думал, что могу использовать тот же метод, что и для преобразования RGB -> оттенков серого, например (R + G + B)/3 или max (r, g, b)/2 + min (r, g, b). Но, к сожалению, это плохо работает для CMYK, потому что CMY и K являются избыточными. И черный CMYK (0, 0, 0, 255) будет 64. Если я просто использоватьОттенок CMYK в оттенках серого
int grayscaled = max((c + m + y)/3, k)
или это может быть более сложным? Я не уверен, потому что CMYK на самом деле является избыточной моделью цвета, и один и тот же цвет может быть закодирован по-разному.
Если вы пытаетесь получить изображение с серой шкалой, не будет ли выход только K-каналом? Я не совсем понимаю CMYK, поэтому, пожалуйста, объясните мне, если я ошибаюсь. – Hawken
@Hawken no, max CMY является черным, поэтому существует множество способов представления цвета в CMYK. Я имею в виду (1, 1, 1, 0) и (0, 0, 0, 1) теоретически тот же черный цвет. – AvrDragon
правда, но если они одного цвета, использование только черных чернил спасет чернила, не так ли? Кроме того, некоторые принтеры используют разные черные чернила, делая оттенки серого; возможно, только использование канала «K» может вызвать это? – Hawken