HIS--RGB颜色转换步骤
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
还有一个中间插值的原因
插值方法:
1,如果要输出的色谱个数小于等于基色个数,那么就按照原来的方法进行判断;
2,如果色谱个数大于基色个数,则在基色中每两个基色之间均匀插值N个或N+1个
插值方法int MidNum = Num/BaseNum;
最后按照方法5,得到正确的映射区域:
红绿之间的色谱映射到HIS空间
1,得到输入的基色值vector<RGB>
2,构造适应的数据格式,
需要将原始的基色值映射到0-1之间,我觉得应该是r =(R+0.5)/255.5~~希望减少double和int互换的时候,数据磨损。同G,B
StructRGB
{来自百度文库
doubleR;
doubleG;
doubleB;
}
Struct HIS
{
doubleH;
doubleI;
doubleS;
}
建立两个结构体主要是好区分RGB和HIS的对象
3,研究转换的具体格式
发现坐标变换的HIS和RGB转换,会产生值域不正确的现象,RGB的值会>1,,因此不能单纯的将RGB转换到255int型~~~至于怎么映射,还没想清楚
使用标准模型的方法可以构造合适的色谱···
插值方法:
1,如果要输出的色谱个数小于等于基色个数,那么就按照原来的方法进行判断;
2,如果色谱个数大于基色个数,则在基色中每两个基色之间均匀插值N个或N+1个
插值方法int MidNum = Num/BaseNum;
最后按照方法5,得到正确的映射区域:
红绿之间的色谱映射到HIS空间
1,得到输入的基色值vector<RGB>
2,构造适应的数据格式,
需要将原始的基色值映射到0-1之间,我觉得应该是r =(R+0.5)/255.5~~希望减少double和int互换的时候,数据磨损。同G,B
StructRGB
{来自百度文库
doubleR;
doubleG;
doubleB;
}
Struct HIS
{
doubleH;
doubleI;
doubleS;
}
建立两个结构体主要是好区分RGB和HIS的对象
3,研究转换的具体格式
发现坐标变换的HIS和RGB转换,会产生值域不正确的现象,RGB的值会>1,,因此不能单纯的将RGB转换到255int型~~~至于怎么映射,还没想清楚
使用标准模型的方法可以构造合适的色谱···