使用c++的RGB到CMY颜色模型

RGB to CMY color model using c++

本文关键字:CMY 颜色 色模型 RGB c++ 使用      更新时间:2023-10-16

这是我们用来将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
#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,然后为3个floating points创建一个数组来压入。在本例中,它从已经初始化到数组中的值CMY开始。

像这样:http://liveworkspace.org/code/2rpyRF$2

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