这是我们用于将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
答案 0 :(得分: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;
}
此代码会将C
,M
,Y
个变量存储为floating points
,然后为要推入的floating points
创建一个数组。在这种情况下,它首先将值C
,M
和Y
初始化为数组。
答案 1 :(得分:0)
像这样:http://liveworkspace.org/code/2rpyRF $ 2
如果您需要多个值,那么您可以这样解决第n个cmy组:n*3 + x
其中x对于c为0,对于m为1,对于y为2。