CMKY与RGB的转换

简介: CMKY与RGB的转换

  有朋友可能会问,CMYK是浮点数,要保存怎么办?可以乘0xFF(255)。

void RGB2CMYK(int red, int green, int blue,
double& c, double& m, double& y, double& k)
{
    c = (0xFF - red  ) / 255.0;
    m = (0xFF - green) / 255.0;
    y = (0xFF - blue ) / 255.0;
    k = Math.min(c, Math.min(m, y));
    if (k == 1.0)
    {
        c = m = y = 0;
    }
    else
    {
        c = (c - k) / (1 - k);
        m = (m - k) / (1 - k);
        y = (y - k) / (1 - k);
    }
}
void CMYK2RGB(double c, double m, double y, double k, int& r, int& g, int& b)
{
    r = (int)((1.0 - c) * (1.0 - k) * 0xFF);
    g = (int)((1.0 - m) * (1.0 - k) * 0xFF);
    b = (int)((1.0 - y) * (1.0 - k) * 0xFF);
}
目录
相关文章
|
1月前
|
存储 编解码 监控
RGB 和 YUV 区别
【10月更文挑战第26天】RGB和YUV在色彩表示原理、数据存储方式、应用场景以及转换关系等方面都存在着明显的区别,它们各自在不同的领域发挥着重要的作用。
|
计算机视觉
计算机图形|RGB与HSV模型的转化
计算机图形|RGB与HSV模型的转化
161 0
计算机图形|RGB与HSV模型的转化
C++实现对RGB图片进行编码
介绍了如何利用得到的RGB信息重新对RGB图片进行编码,以及对其他图片如BMP所得到的RGB信息进行编码从而得到*.jpg文件。
163 0
CMKY与RGB的转换
CMKY与RGB的转换
111 0
|
存储 算法 知识图谱
RGB与YUV相互转换
本文介绍YUV跟RGB互转的各种公式,以及推导原理
383 0
RGB转换为NV12的代码
RGB转换为NV12的代码
255 0
YUV 与 RGB的转换
RGB 转换成 YUV Y = (0.257 * R) + (0.504 * G) + (0.
5545 0
|
编解码
理解 RGB & YUV 颜色编码
理解 RGB & YUV 颜色编码
516 0
理解 RGB & YUV 颜色编码
使用FFMPEG的sws_scale函数实现各种原始颜色格式互转(YUV\RGB\)
使用FFMPEG的sws_scale函数实现各种原始颜色格式互转(YUV\RGB\)
876 0