混色难题!(100分)

  • 主题发起人 主题发起人 小虫~
  • 开始时间 开始时间

小虫~

Unregistered / Unconfirmed
GUEST, unregistred user!
有5、6种天然材料制成的颜料,通过扫描可以取得各个基色的RGB,现自定义一种颜色,通过
程序分析出各种基色颜料的配置比率(或者不能配置)。
如:目标颜色=基色2(10%)+基色5(45%)+基色1(45%)
这个问题是乎是一个算法问题,但是同时也要考虑图形学。因为颜料是物理颜料,而RGB是
光学的定义,一般印刷是用CMYK,但CMYK来分析会更加麻烦。
这个问题算两个题目:
1.配色算法
2.颜色分色问题,用rgb还是cmyk,并提出相应的说明。
每问题给300分(另外开贴给分,up有分),不知哪位高手可以解决。
 
2种颜色混合倒是可以使用(r1+r2)/2,(g1+g2)/2,(b1+b2)/2得到,但是如果比例不是1:1就
麻烦了,肯定不能用(r1+r2+r3)/3得到,我考虑是((R1+R2)/2+R2)/2 (假设R1:R2为1:2),这
样如果是1:100呢,不就是(R1+(2^100-1)*R2)/2^n,算法是否正确,是否有简单一些的算法
呢?
紧急期待中......
 
分数不够可以续加...
 
请大家参与,谢谢2位UP!:)
 
to :小虫~
想请问一下你以前的:
不用c~c,C~v 粘公式问题
不知是否解决,希望能给出答案,急用
也就是怎么返回公式到RICHEDIT中
王健
bbcoll@163.com
 
在做印染的软件吧?
分色、配色,这些算法可以看看“计算机辅助设计与图形学”学报,
我记得有一篇是讲这种算法的。
 
配色算法初步设想可用递归穷举,设定一个阀值,满足条件返回。
考虑到多种原始色的混合,且比例可调。
估计如果精度要求很高的话,会非常慢。

初步思路:
每一种原色按R、G、B在色中所占比例从高到低排序,形成3个队列。
分析需要得到颜色的RGB分量比例,从各队列由高到低尝试,并改变不同比例。
从两种颜色开始,如没有满足条例,则将混合后的颜色作为一种颜色再进行尝试。
不知是否可行,还要进行验证
 
已经找到确切的解法!

方法1:
假设有纯白和纯黑色。
将RGB颜色空间转换为HSV空间,V可以通过加入黑或白来调整
这样问题就被简化了
任何目标颜色都被映射为H为X,S为Y的直角座标中的一个点,
已有颜色则也是该平面中的点,只要目标点在任何三个已知点所围成的三角
形中间,则一定有一个解。如果没有一个三角型能包围点,则无解。
例如:po为目标点,p1,p2,p3为三个已知颜色点。
先将P1,p2连成一线,再将p3,p0连成一线,则p1-p2一定会和p3,p0相交于px点
则(p1-px)/(p2-px)的比值为颜色1和颜色2混合比例,
(p3-p0)/(p0-px)则是颜色3和混合颜色的比例。
再计算V比较,通过加入黑或白来调整,直到一致。
 
方法2:

直接将RGB用为立体空间,任何颜色都是该空间中的一点
如果目标颜色在任意四点围成的四边体中,则可以通过解面平几何的思路来解出
比例,思路同方法1一样。不过这个解法比较烦,因为要找合乎要求的四个点只能
用穷举。

如果颜色精度不是特别高的话,还是用方法1 好,但它有一定颜色转换误差。

算法你自己写吧
 
后退
顶部