C++ 使用c++;

C++ 使用c++;,c++,image-processing,colors,cmyk,C++,Image Processing,Colors,Cmyk,这是我们用于将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

这是我们用于将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
像这样:$2

如果您需要许多值,那么您可以这样处理第n个cmy组:
n*3+x
其中x为0表示c,1表示m,2表示y。

如下所示:$2

#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;
}
如果您需要许多值,那么您可以将第n个cmy组寻址为:
n*3+x
,其中x为0表示c,1表示m,2表示y
#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;
}
使用名称空间std; int main(){ 浮球C=1.0f-(R/255.0f); 浮动M=1.0f-(G/255.0f); 浮动Y=1.0f-(B/255.0f); float cmyArray[3]={C,M,Y}; 返回0; } 此代码将
C
M
Y
变量存储为
浮点
,然后为要推入的3个
浮点创建一个数组。在这种情况下,它以已初始化到数组中的值
C
M
Y
开始 使用名称空间std; int main(){ 浮球C=1.0f-(R/255.0f); 浮动M=1.0f-(G/255.0f); 浮动Y=1.0f-(B/255.0f); float cmyArray[3]={C,M,Y}; 返回0; }

此代码将
C
M
Y
变量存储为
浮点
,然后为要推入的3个
浮点创建一个数组。在这种情况下,它以已初始化到数组中的值
C
M
Y
开始。

创建一个数组并将值放入其中?存储在数组中是什么意思?RGB值是如何存储在代码中的?此外,使用整数不会得到介于
0
1
之间的值。它将为您提供
0
1
。您需要知道您想要的十进制精度,因为它们在0和1之间是无限的。老实说,这是最好的方法,您很好。制作一个数组并将值放入其中?存储在数组中是什么意思?RGB值是如何存储在代码中的?此外,使用整数不会得到介于
0
1
之间的值。它将为您提供
0
1
。您需要知道您想要的十进制精度,因为它们在0和1之间是无限的。老实说,这是最好的方法,您很好。