CMYK 画像をグレースケールの CMYK 画像に変換する必要があります。最初は、(R + G + B) / 3 または max(r, g, b) / 2 + min(r, g, b) のように、RGB -> グレースケール変換と同じ方法を使用できると考えました。しかし残念ながら、CMY と K は冗長であるため、これは CMYK ではうまく機能しません。そして黒いcmyk(0、0、0、255)は64になります。
int grayscaled = max((c + m + y) / 3, k)
それとももっとトリッキーですか?CMYK は実際には冗長なカラー モデルであり、同じ色が異なる方法でエンコードされる可能性があるため、わかりません。