C++ 使用c++;
这是我们用于将RGB转换为相应CMY格式的公式: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
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之间是无限的。老实说,这是最好的方法,您很好。