1

これは、RGB をそれぞれの CMY 形式に変換するために使用する式です。

C = 1 - ( R / 255 )
M = 1 - ( G / 255 )
Y = 1 - ( B / 255 )

この式を元の画像の RGB 値に適用した後、CMY 画像を表示しようとしていますが、得られる結果の値は 0 から 1 の間です。この範囲を使用して画像を表示できるとは思いません。

イメージの表示に使用できるように、CMY 値を配列として保存するにはどうすればよいですか? そのために0-1から0-255の範囲をスケーリングする必要がありますか?

スケーリングする必要がある場合、なぜこの式が使用されるのか、直接使用できます。

C = 255 - R
M = 255 - G
Y = 255 - B
4

2 に答える 2

1
#include <iostream>

using namespace std;

int main() {
    float C = 1.0f - (R / 255.0f);
    float M = 1.0f - (G / 255.0f);
    float Y = 1.0f - (B / 255.0f);

    float cmyArray[3] = {C, M, Y};
    return 0;
}

このコードは、、、変数を as として格納しC、3をプッシュするための配列を作成します。この場合、配列に既に初期化されている値、、、から開始します。MYfloating pointsfloating pointsCMY

于 2013-04-08T05:46:29.450 に答える
0

このように: http://liveworkspace.org/code/2rpyRF $2

多くの値が必要な場合は、n 番目の cmy グループを次のようにアドレス指定できます。n*3 + xここで、x は c の場合は 0、m の場合は 1、y の場合は 2 です。

于 2013-04-08T05:45:19.153 に答える