【问题标题】:How to decompose a color into percentage of other multiple defined colors如何将颜色分解为其他多种定义颜色的百分比
【发布时间】:2021-08-07 09:49:32
【问题描述】:

我有这些颜色,我可以使用下面的代码将这些颜色与比例组合起来

avreg =  np.around((red_patch*0.1) + (blue_patch*0.4) + (yellow_patch*0.5)).astype(int)

结果如下图

是否可以将此颜色分解为之前创建它的颜色。就像找到导致这种颜色的每种颜色的比例一样

【问题讨论】:

    标签: python opencv math optimization colors


    【解决方案1】:

    假设Y 是代表结果颜色的 np.ndarray,那么你可以得到你正在寻找的系数

    M = np.column_stack((red_patch, blue_patch, yellow_patch))
    print(np.linalg.inv(M)@Y)
    

    (请注意,由于.astype(int) 导致的舍入问题,系数可能与您输入的不完全相同,但它应该大致可以解决问题)

    【讨论】:

    • 感谢您的回答。只是要补充一点,对于非方阵,可以使用它。 np.linalg.pinv(M)
    猜你喜欢
    • 2016-08-03
    • 1970-01-01
    • 2011-05-23
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    相关资源
    最近更新 更多