如何将颜色分解为其他多种已定义颜色的百分比

时间:2021-05-18 07:05:13

标签: python opencv math optimization colors

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

enter image description here

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

结果如下

enter image description here

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

1 个答案:

答案 0 :(得分:3)

假设 Y 是表示结果颜色的 np.ndarray,然后您可以获得您正在寻找的系数

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

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

相关问题