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

标签 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 - 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 创建一个数组被插入。在这种情况下,它以值 C 开始。 , M , 和 Y已经初始化到数组中。

关于c++ - 使用 C++ 的 RGB 到 CMY 颜色模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15871981/

相关文章:

c++ - 重载 Eigen::MatrixBase<T>

c++ - 将模板参数与 null 进行比较

c++ - 如何让两个不同的对象方法互相用作参数

image - MATLAB 中的拉普拉斯图像滤波和锐化图像

java - 不能将 IplImage 与 OpenCV 2.4.4 一起使用

javascript - 与 jquery 最兼容且易于使用的 jquery 颜色选择器是什么?

Jquery 交替行颜色在悬停功能后似乎不起作用

html - 用于更改 h1 中最后一个单词颜色的 CSS

c++ - 如何在 C++ 中创建一个算法来查找集合的变体而不重复(即 n 个元素,选择 k)?

image-processing - 需要一些帮助来理解公式