混合油漆颜色有反算法吗



当地油漆店可以混合我选择的任何RAL或NCS颜色,但考虑到所需的最小体积,我将未使用的油漆扔进垃圾桶是在浪费钱。我想买标准的预混合不透明丙烯酸漆——蓝色、红色和黄色(RYB原色(、白色(变亮(和黑色(变暗(——我应该很乐意去。

我也可以购买预先混合的绿色、橙色和紫色(RYB二次色(来跳过混合原色。(还有其他预混色,如灰色和棕色,但我们忽略它们。(

我有一个色度计,我可以测量这些油漆颜色的RGB值。

所以,我已经定义了一组已知RGB值的8种油漆颜色。

我的问题很明显。是否有将所需目标RGB颜色作为输入并按比例输出源颜色的算法?(我相信有,打印机怎么知道如何在白纸上混合CMYK。好吧,由于颜料和油漆颜色的不同吸收和反射特性,处理实际油漆颜色比处理光混合复杂得多,但无论如何…(

混合建议的比例遗忘的产物不一定(也不可能(与目标颜色完美匹配,而是尽可能接近。

算法应该最佳地使用源颜色,即它不会将蓝色和黄色混合以获得绿色,而是使用可用的绿色。

若我从定义的集合中移除绿色,那个么算法应该使用蓝色和黄色来获得绿色。

若我将已经提到的灰色和棕色或更多的颜色添加到定义的集合中,算法应该在必要时使用它们。

算法不应该过于复杂的混合尝试使用每一个可用的源颜色,即使在不必要的时候。应该有一个选项来限制可以使用的源颜色的数量。我的意思是,对于8种源颜色,我告诉算法只使用3种颜色,算法会选择最接近目标颜色的最佳组合。

知道期望的目标颜色和期望的混合颜色之间的差异(例如,%(将是一个很好的指标。

这可能吗?如果没有,我仍然可以手动混合我需要的颜色,记下比例,测量RGB值,并创建一个固定的颜色图表,以在未来获得一致的结果。这样的算法将是一个很好的工具来了解如何开始混合。

  1. 您需要将标准化的RGB值作为输入

    这意味着对于任何灰度颜色R==G==B,如果不是真的,那么你没有标准化RGB空间,需要像这样sclae:

    R = 0.30*R'
    G = 0.59*G'
    B = 0.11*B'
    

    也希望你的色度计有自己的光源,否则你需要使用特定的照明条件。

  2. 标准化CMYK数学

    再次针对灰度颜色C==M==Y从RGB到CMY的数学转换(假设为8位值(为:

    C = (255 - R)
    M = (255 - G)
    Y = (255 - B)
    

    如果你也有黑色,那么你可以应用这个:

    K=min(C,M,Y)
    C-=K
    M-=K
    Y-=K
    
  3. 未归一化CMY

    你只需要像在RGB中一样应用缩放。价值将取决于您的油漆。然而,我不确定它是否会是恒定的,因为油漆可能会发生化学相互作用(只是胡乱猜测(。如果我们假设它是,那么首先进行测量。创建尽可能好的灰度阴影,并记住C、M、Y绘制比例(因此体积或重量(。将比率除以最大的一(这将使范围归一化为<0,1>(,结果是通过相乘将非归一化CMY转换为归一化CMY的系数。

最新更新